diff options
Diffstat (limited to 'main/alpine-conf/0001-lbu-do-not-use-xargs.patch')
-rw-r--r-- | main/alpine-conf/0001-lbu-do-not-use-xargs.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/main/alpine-conf/0001-lbu-do-not-use-xargs.patch b/main/alpine-conf/0001-lbu-do-not-use-xargs.patch new file mode 100644 index 0000000000..42dac49861 --- /dev/null +++ b/main/alpine-conf/0001-lbu-do-not-use-xargs.patch @@ -0,0 +1,65 @@ +From 15245c4a0eb62b0e1bcbac5063391e0d57a53799 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Wed, 4 Jul 2012 08:09:21 +0200 +Subject: [PATCH] lbu: do not use xargs + +xargs will execute the command twice if the buffer becomes long enough. +This will break tar. + +We also use -z instead of piping via gzip while here. + +ref #1240 +--- + lbu.in | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) + +diff --git a/lbu.in b/lbu.in +index 67ad578..3fa157e 100644 +--- a/lbu.in ++++ b/lbu.in +@@ -281,10 +281,6 @@ _gen_filelist() { + apk audit --backup --quiet --recursive + } + +-_gen_filelist_0() { +- _gen_filelist | tr '\n' '\0' +-} +- + cmd_package() { + local pkg="$1" + local rc=0 +@@ -311,7 +307,7 @@ cmd_package() { + + tmppkg="$tmpdir/$(basename $pkg)" + +- local tar_create="tar -c --no-recursion" ++ local tar_create="tar -c --no-recursion -T -" + + cd "${ROOT:-/}" + # remove old package.list +@@ -325,19 +321,17 @@ cmd_package() { + echo "Archiving the following files:" >&2 + # we dont want to mess the tar output with the + # password prompt. Lets get the tar output first. +- _gen_filelist_0 | xargs -0 $tar_create -v > /dev/null ++ _gen_filelist | $tar_create -v > /dev/null + rc=$? + fi + if [ $rc -eq 0 ]; then + if [ -z "$ENCRYPTION" ]; then +- _gen_filelist_0 | xargs -0 $tar_create \ +- | gzip -c >"$tmppkg" ++ _gen_filelist | $tar_create -z >"$tmppkg" + rc=$? + else + set -- enc "-$ENCRYPTION" -salt + [ -n "$PASSWORD" ] && set -- "$@" -pass pass:"$PASSWORD" +- _gen_filelist_0 | xargs -0 $tar_create \ +- | gzip -c \ ++ _gen_filelist | $tar_create -z \ + | $OPENSSL "$@" > "$tmppkg" + rc=$? + fi +-- +1.7.11.1 + |