############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2007-2018 IPFire Team # # # # 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 3 of the License, or # # (at your option) any later version. # # # # 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 this program. If not, see . # # # ############################################################################### ############################################################################### # Definitions ############################################################################### include Config VER = ipfire THISAPP = core-updates TARGET = $(DIR_INFO)/$(THISAPP) ############################################################################### # Top-level Rules ############################################################################### install : $(TARGET) check : download : b2 : ############################################################################### # Installation Details ############################################################################### CORE = $(patsubst $(DIR_SRC)/config/rootfiles/%,%,$(wildcard $(DIR_SRC)/config/rootfiles/core/*)) $(TARGET) : $(CORE) .PHONY: core/%: rm -rf /install/packages/package /tmp/* mkdir -p /install/packages/package eval $$(cat /usr/src/config/rootfiles/$@/meta) #Generate ROOTFILES from filelists BUILD_ARCH=$(BUILD_ARCH) BUILDTARGET=$(BUILDTARGET) KVER=$(KVER) \ $(DIR_SRC)/src/scripts/archive.files \ $(DIR_SRC)/config/rootfiles/$@/filelists \ $(DIR_SRC)/config/rootfiles/$@/files \ $(DIR_SRC)/config/rootfiles/$@/files.$(BUILD_ARCH) \ > /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 $(TAR_OPTIONS) -c --exclude='proc/*' --exclude='tmp/ROOTFILES' --exclude='__pycache__' --exclude='#*' --exclude='dev/pts/*' \ --exclude-from=$(DIR_SRC)/config/rootfiles/$@/exclude \ -C / --files-from=/tmp/ROOTFILES -f /$(SNAME).tar mv -f /tmp/ROOTFILES /install/packages/package/ROOTFILES tar $(TAR_OPTIONS) -p --numeric-owner -x -C /tmp -f /$(SNAME).tar rm -f /$(SNAME).tar cd /tmp && XZ_OPT="$(XZ_OPT)" tar $(TAR_OPTIONS) -cJf /install/packages/package/files.tar.xz $(TAR_OPTIONS) * && 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/SUMMARY/IPFire Core Update/g" \ -e "s/VER/$(VERSION)/g" \ -e "s/RELEASE/$$(basename $@)/g" \ -e "s/DEPS/$(DEPS)/g" \ -e "s/SIZE/`ls -l \/install\/packages\/core-upgrade-$(VERSION)-$$(basename $@).ipfire | awk '{ print $$5 }'`/g" \ -e "s/SERVICES//g" \ < /usr/src/src/pakfire/meta > /install/packages/meta-core-upgrade-$$(basename $@)