tar seems to ignore the XZ_OPT variable sometimes

This caused that the xz command was called without any
extra arguments. This will now create the tar archive
first and then pass the archive through xz with our
command line switches.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2018-05-21 20:54:09 +01:00
parent b302b9a695
commit 0054a52bd8
2 changed files with 3 additions and 9 deletions

View File

@@ -211,11 +211,11 @@ define PAK
tar xf /install/packages/package/files.tmp -C /install/packages/package/tmp/ \
-p --numeric-owner
rm -f /install/packages/package/files.tmp
cd /install/packages/package/tmp/ && XZ_OPT="$(XZ_OPT)" tar -c -p --numeric-owner -J -f /install/packages/package/files.tar.xz $(TAR_OPTIONS) *
cd /install/packages/package/tmp/ && tar cf - -p --numeric-owner -J * | xz $(XZ_OPT) > /install/packages/package/files.tar.xz
rm -r /install/packages/package/tmp
-cat /install/packages/package/ROOTFILES | grep -v "#" > /install/packages/package/ROOTFILES.tmp
mv /install/packages/package/ROOTFILES.tmp /install/packages/package/ROOTFILES
cd /install/packages/package && XZ_OPT="$(XZ_OPT)" tar cf ../$(PROG)-$(VER)-$(PAK_VER).ipfire $(TAR_OPTIONS) --files-from=/usr/src/src/paks/files
cd /install/packages/package && tar cf - --files-from=/usr/src/src/paks/files | xz $(XZ_OPT) > ../$(PROG)-$(VER)-$(PAK_VER).ipfire
rm -rf /install/packages/package
sed -e s/NAME/$(PROG)/g \
-e s/VER/$(VER)/g \

View File

@@ -29,12 +29,6 @@ VER = ipfire
THISAPP = cdrom
TARGET = $(DIR_INFO)/$(THISAPP)
ifeq "$(BUILD_PLATFORM)" "arm"
TAR_OPTIONS =
else
TAR_OPTIONS = --xz
endif
###############################################################################
# Top-level Rules
###############################################################################
@@ -78,7 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
tar -x -C /tmp -f /$(SNAME).tar
rm -f /$(SNAME).tar
@mkdir /tmp/sys
cd /tmp && XZ_OPT="$(XZ_OPT)" tar cf /install/cdrom/distro.img $(TAR_OPTIONS) * && rm -rf *
cd /tmp && tar cf - * | xz $(XZ_OPT) > /install/cdrom/distro.img && rm -rf *
# Other files
touch /install/cdrom/$(SNAME)-$(VERSION)-core$(CORE).media