]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - lfs/core-updates
kernel: update to 4.9.34
[ipfire-2.x.git] / lfs / core-updates
index cf24f00ed80ed341ecb224db34c380a353c12d5e..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/>.       #
 #                                                                             #
 ###############################################################################
 
@@ -51,23 +49,51 @@ CORE = $(patsubst $(DIR_SRC)/config/rootfiles/%,%,$(wildcard $(DIR_SRC)/config/r
 
 $(TARGET) : $(CORE)
 
+.PHONY:
 core/%:
        rm -rf /install/packages/package
        mkdir -p /install/packages/package
        eval $$(cat /usr/src/config/rootfiles/$@/meta)
-       cp -f /usr/src/config/rootfiles/$@/update.sh /install/packages/package
-       cp -f /usr/src/config/rootfiles/$@/files /install/packages/package/ROOTFILES
+
+       #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
-       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
+       #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 ROOTFILES
+               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/$$(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-upgrade-$(VERSION)-$$(basename $@).ipfire | awk '{ print $$5 }'`/g" \
                < /usr/src/src/pakfire/meta > /install/packages/meta-core-upgrade-$$(basename $@)