summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2018-11-13 15:06:05 -0800
committerMichael Forney <mforney@mforney.org>2019-03-11 12:20:37 -0700
commite5bb6756c125c1b2d70e63aa90b0d1485300f062 (patch)
treec0cea25006ecc2c4ed9e5696d447d5603187d0d6
parent01b862af3be3cde43223e4b900f0025f70aaaac2 (diff)
Allow overriding pax command with PAXREAD
Most systems do not have pax installed by default, or it is not available at all. However, since we are relying on the -s flag for member name substitution, we can't just use a tar command that works everywhere. Instead, support the environment variable PAXREAD to specify the command to use in place of `pax -r`. Since bsdtar from libarchive supports -s, we can set PAXREAD='bsdtar -xf -'.
-rw-r--r--pkg/git/fetch.sh2
-rw-r--r--pkg/openbsd/fetch.sh4
-rw-r--r--scripts/fetch-curl.sh2
3 files changed, 4 insertions, 4 deletions
diff --git a/pkg/git/fetch.sh b/pkg/git/fetch.sh
index 289daf1f..48edce2c 100644
--- a/pkg/git/fetch.sh
+++ b/pkg/git/fetch.sh
@@ -15,4 +15,4 @@ if ! sha256sum -c sha256 2>/dev/null ; then
fi
read -r checksum archive <sha256
-xzcat "$archive" | pax -r -s ',^\.,src/man,'
+xzcat "$archive" | ${PAXREAD:-pax -r} -s ',^\.,src/man,'
diff --git a/pkg/openbsd/fetch.sh b/pkg/openbsd/fetch.sh
index 48730f6b..dfbe46e4 100644
--- a/pkg/openbsd/fetch.sh
+++ b/pkg/openbsd/fetch.sh
@@ -14,7 +14,7 @@ if ! sha256sum -c sha256 2>/dev/null ; then
sha256sum -c sha256
fi
-zcat src.tar.gz | pax -r -s '/^/src\//' \
+zcat src.tar.gz | ${PAXREAD:-pax -r} -s ',^,src/,' \
'bin/pax/*' \
'include/*' \
'lib/libc/*' \
@@ -27,6 +27,6 @@ zcat src.tar.gz | pax -r -s '/^/src\//' \
'usr.bin/nc/*' \
'usr.bin/patch/*' \
'usr.bin/yacc/*'
-zcat sys.tar.gz | pax -r -s '/^/src\//' 'sys/sys/*'
+zcat sys.tar.gz | ${PAXREAD:-pax -r} -s ',^,src/,' 'sys/sys/*'
git apply -v --whitespace=nowarn --directory "$dir/src" patch/*
diff --git a/scripts/fetch-curl.sh b/scripts/fetch-curl.sh
index 86f7598e..4604a398 100644
--- a/scripts/fetch-curl.sh
+++ b/scripts/fetch-curl.sh
@@ -31,7 +31,7 @@ while read -r checksum archive ; do
tool=
esac
if [ -n "$tool" ] ; then
- "$tool" "$archive" | pax -r -s '/^\.\|[^\/]*/src/' '*/*'
+ "$tool" "$archive" | ${PAXREAD:-pax -r} -s ',^[^/]*,src,' '*/*'
fi
done <sha256