hooks: 00-distfiles.sh: detect bsdtar and then tar (GNU).

This way xbps-src is able to work with any of them.
This commit is contained in:
Juan RP 2020-01-05 08:20:26 +01:00
parent 3c729b5614
commit d15b1f6746
2 changed files with 20 additions and 4 deletions

View file

@ -4,6 +4,7 @@
hook() {
local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
local f j curfile found extractdir
local TAR_CMD
if [ -z "$distfiles" -a -z "$checksum" ]; then
mkdir -p $wrksrc
@ -23,6 +24,10 @@ hook() {
mkdir -p ${wrksrc} || msg_error "$pkgver: failed to create wrksrc.\n"
fi
TAR_CMD="$(command -v bsdtar)"
[ -z "$TAR_CMD" ] && TAR_CMD="$(command -v tar)"
[ -z "$TAR_CMD" ] && msg_error "xbps-src: no suitable tar cmd (bsdtar, tar)\n"
msg_normal "$pkgver: extracting distfile(s), please wait...\n"
for f in ${distfiles}; do
@ -71,7 +76,7 @@ hook() {
case ${cursufx} in
tar|txz|tbz|tlz|tgz|crate)
bsdtar -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C $extractdir
$TAR_CMD -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C $extractdir
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi