X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=lfs%2Fcore-updates;h=b40de13e06efffb68c984fc34e74c6d9c5132116;hb=eff2dbf8336c3935535a5f5565bfc27c4fccd4bb;hp=f39a965f4788c8f49594dfaed84309c71dba6d43;hpb=a5997a4c5f16ebec4f9b75f098e0123ae6c199df;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/lfs/core-updates b/lfs/core-updates index f39a965f4..b40de13e0 100644 --- a/lfs/core-updates +++ b/lfs/core-updates @@ -1,22 +1,20 @@ ############################################################################### -# This file is part of the IPCop Firewall. # # # -# IPCop is free software; you can redistribute it and/or modify # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # +# the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # -# IPCop is distributed in the hope that it will be useful, # +# This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # -# along with IPCop; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Makefiles are based on LFSMake, which is # -# Copyright (C) 2002 Rod Roard # +# along with this program. If not, see . # # # ############################################################################### @@ -47,27 +45,55 @@ md5 : # Installation Details ############################################################################### -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) - for i in $$(ls -1 $(DIR_SRC)/config/rootfiles/core) ; do \ - if [ "$$i" == "files" ]; then continue; fi; \ - rm -rf /install/packages/package; \ - mkdir -p /install/packages/package && \ - eval $$(cat /usr/src/config/rootfiles/core/$$i/meta) \ - && cp -f /usr/src/config/rootfiles/core/$$i/update.sh /install/packages/package \ - && cp -f /usr/src/config/rootfiles/core/$$i/files /install/packages/package/ROOTFILES \ - && chmod 755 /install/packages/package/update.sh \ - && cd / \ - && tar -cf /install/packages/package/files --files-from=/install/packages/package/ROOTFILES --exclude='#*' \ - && cat /install/packages/package/ROOTFILES | grep -v "#" > /install/packages/package/ROOTFILES; \ - cd /install/packages/package && tar cf ../core-update-$(VERSION)-$$i.ipfire \ - --files-from=/usr/src/config/rootfiles/core/files && \ - rm -rf /install/packages/package; \ - sed -e "s/NAME/core-update/g" \ +CORE = $(patsubst $(DIR_SRC)/config/rootfiles/%,%,$(wildcard $(DIR_SRC)/config/rootfiles/core/*)) + +$(TARGET) : $(CORE) + +.PHONY: +core/%: + rm -rf /install/packages/package + mkdir -p /install/packages/package + eval $$(cat /usr/src/config/rootfiles/$@/meta) + + #Generate ROOTFILES from filelists + $(DIR_SRC)/src/scripts/archive.files \ + $(DIR_SRC)/config/rootfiles/$@/filelists \ + $(DIR_SRC)/config/rootfiles/$@/files \ + $(DIR_SRC)/config/rootfiles/$@/files.$(MACHINE) \ + > /tmp/ROOTFILES.tmp + + #remove excluded files from ROOTFILES + grep -f $(DIR_SRC)/config/rootfiles/$@/exclude -v /tmp/ROOTFILES.tmp > /tmp/ROOTFILES + rm -rf /tmp/ROOTFILES.tmp + + #Change KVER to Kernelversion + sed -e "s/KVER/$(KVER)/g" -i /tmp/ROOTFILES + + #Remove doubled files with tar/untar/tar to save space + tar -c -C / --files-from=/tmp/ROOTFILES \ + -f /$(SNAME).tar --exclude='#*' --exclude='dev/pts/*' \ + --exclude='proc/*' --exclude='tmp/ROOTFILES' \ + --exclude-from=$(DIR_SRC)/config/rootfiles/$@/exclude + mv -f /tmp/ROOTFILES /install/packages/package/ROOTFILES + tar -p --numeric-owner -x -C /tmp -f /$(SNAME).tar + rm -f /$(SNAME).tar + cd /tmp && tar cJf /install/packages/package/files.tar.xz * && rm -rf * + cat /install/packages/package/ROOTFILES | grep -v "#" > /install/packages/package/ROOTFILES.tmp + rm /install/packages/package/ROOTFILES + mv /install/packages/package/ROOTFILES.tmp /install/packages/package/ROOTFILES + + #build package + cp -f $(DIR_SRC)/config/rootfiles/$@/update.sh /install/packages/package + chmod 755 /install/packages/package/update.sh + #Change xxxKVERxxx to Kernelversion + sed -e "s/xxxKVERxxx/$(KVER)/g" -i /install/packages/package/update.sh + + cd /install/packages/package && tar cf ../core-upgrade-$(VERSION)-$$(basename $@).ipfire \ + update.sh files.tar.xz ROOTFILES + rm -rf /install/packages/package + sed -e "s/NAME/core-upgrade/g" \ -e "s/VER/$(VERSION)/g" \ - -e "s/RELEASE/$$i/g" \ + -e "s/RELEASE/$$(basename $@)/g" \ -e "s/DEPS/$(DEPS)/g" \ - -e "s/DESCDE/$(DESCDE)/g" \ - -e "s/DESCEN/$(DESCEN)/g" \ - -e "s/SIZE/`ls -l \/install\/packages\/core-update-$(VERSION)-$$i.ipfire | awk '{ print \$5 }'`/g" \ - < /usr/src/src/pakfire/meta > /install/packages/meta-core-update-$$i; \ - done + -e "s/SIZE/`ls -l \/install\/packages\/core-upgrade-$(VERSION)-$$(basename $@).ipfire | awk '{ print $$5 }'`/g" \ + < /usr/src/src/pakfire/meta > /install/packages/meta-core-upgrade-$$(basename $@)