]>
Commit | Line | Data |
---|---|---|
a5997a4c | 1 | ############################################################################### |
a5997a4c | 2 | # # |
70df8302 | 3 | # IPFire.org - A linux based firewall # |
eee037b8 | 4 | # Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> # |
70df8302 MT |
5 | # # |
6 | # This program is free software: you can redistribute it and/or modify # | |
a5997a4c | 7 | # it under the terms of the GNU General Public License as published by # |
70df8302 | 8 | # the Free Software Foundation, either version 3 of the License, or # |
a5997a4c MT |
9 | # (at your option) any later version. # |
10 | # # | |
70df8302 | 11 | # This program is distributed in the hope that it will be useful, # |
a5997a4c MT |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
14 | # GNU General Public License for more details. # | |
15 | # # | |
16 | # You should have received a copy of the GNU General Public License # | |
70df8302 | 17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # |
a5997a4c MT |
18 | # # |
19 | ############################################################################### | |
20 | ||
21 | ############################################################################### | |
22 | # Definitions | |
23 | ############################################################################### | |
24 | ||
25 | include Config | |
26 | ||
27 | VER = ipfire | |
28 | ||
27267889 MF |
29 | THISAPP = core-updates |
30 | TARGET = $(DIR_INFO)/$(THISAPP) | |
31 | TAR_OPTIONS = --xz | |
a5997a4c MT |
32 | |
33 | ############################################################################### | |
34 | # Top-level Rules | |
35 | ############################################################################### | |
36 | ||
37 | install : $(TARGET) | |
38 | ||
39 | check : | |
40 | ||
41 | download : | |
42 | ||
43 | md5 : | |
44 | ||
45 | ############################################################################### | |
46 | # Installation Details | |
47 | ############################################################################### | |
48 | ||
9cd0c7fd MT |
49 | CORE = $(patsubst $(DIR_SRC)/config/rootfiles/%,%,$(wildcard $(DIR_SRC)/config/rootfiles/core/*)) |
50 | ||
51 | $(TARGET) : $(CORE) | |
52 | ||
2e00d018 | 53 | .PHONY: |
9cd0c7fd | 54 | core/%: |
70e7351c | 55 | rm -rf /install/packages/package /tmp/* |
9cd0c7fd MT |
56 | mkdir -p /install/packages/package |
57 | eval $$(cat /usr/src/config/rootfiles/$@/meta) | |
9adaf7c5 | 58 | |
2e00d018 | 59 | #Generate ROOTFILES from filelists |
3ddd5b66 MT |
60 | BUILD_ARCH=$(BUILD_ARCH) BUILDTARGET=$(BUILDTARGET) KVER=$(KVER) \ |
61 | $(DIR_SRC)/src/scripts/archive.files \ | |
2e00d018 MT |
62 | $(DIR_SRC)/config/rootfiles/$@/filelists \ |
63 | $(DIR_SRC)/config/rootfiles/$@/files \ | |
dc7d6b20 | 64 | $(DIR_SRC)/config/rootfiles/$@/files.$(BUILD_ARCH) \ |
2e00d018 | 65 | > /tmp/ROOTFILES.tmp |
9adaf7c5 AF |
66 | |
67 | #remove excluded files from ROOTFILES | |
68 | grep -f $(DIR_SRC)/config/rootfiles/$@/exclude -v /tmp/ROOTFILES.tmp > /tmp/ROOTFILES | |
69 | rm -rf /tmp/ROOTFILES.tmp | |
70 | ||
71 | #Change KVER to Kernelversion | |
72 | sed -e "s/KVER/$(KVER)/g" -i /tmp/ROOTFILES | |
45e5371d | 73 | |
9adaf7c5 | 74 | #Remove doubled files with tar/untar/tar to save space |
590f879b | 75 | tar -c --exclude='proc/*' --exclude='tmp/ROOTFILES' --exclude='__pycache__' --exclude='#*' --exclude='dev/pts/*' \ |
c2297690 MF |
76 | --exclude-from=$(DIR_SRC)/config/rootfiles/$@/exclude \ |
77 | -C / --files-from=/tmp/ROOTFILES -f /$(SNAME).tar | |
9adaf7c5 | 78 | mv -f /tmp/ROOTFILES /install/packages/package/ROOTFILES |
c0faa0ef | 79 | tar -p --numeric-owner -x -C /tmp -f /$(SNAME).tar |
9adaf7c5 | 80 | rm -f /$(SNAME).tar |
27267889 | 81 | cd /tmp && XZ_OPT="$(XZ_OPT)" tar cJf /install/packages/package/files.tar.xz $(TAR_OPTIONS) * && rm -rf * |
9adaf7c5 AF |
82 | cat /install/packages/package/ROOTFILES | grep -v "#" > /install/packages/package/ROOTFILES.tmp |
83 | rm /install/packages/package/ROOTFILES | |
84 | mv /install/packages/package/ROOTFILES.tmp /install/packages/package/ROOTFILES | |
85 | ||
86 | #build package | |
87 | cp -f $(DIR_SRC)/config/rootfiles/$@/update.sh /install/packages/package | |
9cd0c7fd | 88 | chmod 755 /install/packages/package/update.sh |
45e5371d AF |
89 | #Change xxxKVERxxx to Kernelversion |
90 | sed -e "s/xxxKVERxxx/$(KVER)/g" -i /install/packages/package/update.sh | |
91 | ||
98f0446e | 92 | cd /install/packages/package && tar cf ../core-upgrade-$(VERSION)-$$(basename $@).ipfire \ |
f83650a1 | 93 | update.sh files.tar.xz ROOTFILES |
9cd0c7fd MT |
94 | rm -rf /install/packages/package |
95 | sed -e "s/NAME/core-upgrade/g" \ | |
a5997a4c | 96 | -e "s/VER/$(VERSION)/g" \ |
9cd0c7fd | 97 | -e "s/RELEASE/$$(basename $@)/g" \ |
a5997a4c | 98 | -e "s/DEPS/$(DEPS)/g" \ |
9cd0c7fd MT |
99 | -e "s/SIZE/`ls -l \/install\/packages\/core-upgrade-$(VERSION)-$$(basename $@).ipfire | awk '{ print $$5 }'`/g" \ |
100 | < /usr/src/src/pakfire/meta > /install/packages/meta-core-upgrade-$$(basename $@) |