]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - lfs/core-updates
core81: set need reboot flag and restart apache.
[people/teissler/ipfire-2.x.git] / lfs / core-updates
index f39a965f4788c8f49594dfaed84309c71dba6d43..b40de13e06efffb68c984fc34e74c6d9c5132116 100644 (file)
@@ -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 <rod@sunsetsystems.com>                        #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
 ###############################################################################
 
@@ -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 $@)