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