tUse tar in a more efficient manner - mkports - recipes for building multiple softwares with mk(1)
(HTM) git clone git://z3bra.org/mkports
(DIR) Log
(DIR) Files
(DIR) Refs
---
(DIR) commit e38cb3c389fc98711e34eb9daf630d00d24eac57
(DIR) parent 8af2539891891b1aa9952199652ef71bd27ce69e
(HTM) Author: root <root@doom.z3bra.org>
Date: Tue, 23 May 2017 06:26:32 +0000
Use tar in a more efficient manner
Allow multiple extensions, and use "tar -t" to get source path name.
This is more reliable given that bsdtar "-xv" output cannot be parsed
tthe same way as sbase's or GNU's.
Diffstat:
M default.mk | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
---
(DIR) diff --git a/default.mk b/default.mk
t@@ -66,12 +66,13 @@ fetch-archive:QV: $WORK/$archive
if [ -n "$url" ]; then
cd $WORK
case $archive in
- *.tar.bz2|*.tbz) opt="-xvj" ;;
- *.tar.gz|*.tgz) opt="-xvz" ;;
- *.tar.xz|*.txz) opt="-xvJ" ;;
+ *.tar.bz2|*.tbz) decompression="-j" ;;
+ *.tar.gz|*.tgz) decompression="-z" ;;
+ *.tar.xz|*.txz) decompression="-J" ;;
*) echo "$archive: format not recognized" >&2; exit 1
esac
- src=$(${TAR} $opt -f $archive|sed -n 1p|cut -f1 -d/)
+ ${TAR} $decompression -xvf $archive
+ src=$(${TAR} $decompression -tf $archive|sed -n 1p|cut -f1 -d/)
if [ "$src" != "$pkg-$ver" ]; then
mv "$src" "$pkg-$ver"
fi