###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# #
# 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 #
VER = ipfire
-THISAPP = core-updates
-TARGET = $(DIR_INFO)/$(THISAPP)
+THISAPP = core-updates
+TARGET = $(DIR_INFO)/$(THISAPP)
+TAR_OPTIONS = --xz
###############################################################################
# Top-level Rules
$(TARGET) : $(CORE)
+.PHONY:
core/%:
- rm -rf /install/packages/package
+ rm -rf /install/packages/package /tmp/*
mkdir -p /install/packages/package
eval $$(cat /usr/src/config/rootfiles/$@/meta)
- #Generate ROOTFILES from filelists
- find $(DIR_SRC)/config/rootfiles/$@/filelists/* -maxdepth 1 | xargs cat >> /tmp/ROOTFILES.tmp
+ #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
#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
+ tar -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 --preserve --numeric-owner -x -C /tmp -f /$(SNAME).tar
+ tar -p --numeric-owner -x -C /tmp -f /$(SNAME).tar
rm -f /$(SNAME).tar
- cd /tmp && tar cf /install/packages/package/files * && rm -rf *
+ cd /tmp && XZ_OPT="$(XZ_OPT)" tar 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 ROOTFILES
+ update.sh files.tar.xz ROOTFILES
rm -rf /install/packages/package
sed -e "s/NAME/core-upgrade/g" \
-e "s/VER/$(VERSION)/g" \