From 642d2af234bc832194c6f8178970682358f8d78d Mon Sep 17 00:00:00 2001 From: Stefan Fiedler Date: Wed, 31 Jan 2007 17:52:24 +0000 Subject: [PATCH] Stefan Fiedler: scripts/functions: allow for automatic extraction of zip files [2006123117123331265] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@8180 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- scripts/functions | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/functions b/scripts/functions index 75ca3a8d7..b83e205e0 100644 --- a/scripts/functions +++ b/scripts/functions @@ -651,18 +651,26 @@ build_this_package() { var_append patchfiles " " \ "`ls $confdir/*.patch.${xsrctar/-[0-9]*/} 2> /dev/null`" if [ $autoextract = 1 ]; then - echo "Extracting $xsrctar ($taropt) ... " + if [[ $xsrctar == *.zip ]] ; then + extractcmd="unzip" + cutcmd="cut -f1 -d/ | cut -f2 -d:" + else + extractcmd="tar -v $taropt" + cutcmd="cut -f1 -d/" + fi + echo "Extracting $xsrctar ($extractcmd) ... " cd $builddir - tar -v $taropt $archdir/$xsrctar | tee untar.txt | - cut -f1 -d/ | sort -u > xsrcdir.txt + $extractcmd $archdir/$xsrctar | tee untar.txt | + eval $cutcmd | sort -u > xsrcdir.txt # if [ $srcdir = auto ]; then xsrcdir=${xsrctar%.tar.bz2} xsrcdir=${xsrcdir%.tbz2} + xsrcdir=${xsrcdir%.zip} if [ ! -d $xsrcdir ] ; then for x in $pkg-$ver ${pkg}_$ver $pkg \ $xpkg-$ver ${xpkg}_$ver $xpkg \ - "$( cat xsrcdir.txt )" + $( cat xsrcdir.txt ) do [ -d "$x" ] && xsrcdir="$x" done