wok-current rev 5167
xarchive: fix open archive
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Mar 26 22:01:29 2010 +0100 (2010-03-26) |
parents | cbeec8826bda |
children | 0ca665c79af1 |
files | xarchive/stuff/slitaz-wrap.sh |
line diff
1.1 --- a/xarchive/stuff/slitaz-wrap.sh Fri Mar 26 18:53:15 2010 +0100 1.2 +++ b/xarchive/stuff/slitaz-wrap.sh Fri Mar 26 22:01:29 2010 +0100 1.3 @@ -68,8 +68,8 @@ 1.4 { 1.5 tmp="$(mktemp -d -t tmpcpio.XXXXXX)" 1.6 case "$(cd $tmp; cpio -iv < "$1")" in 1.7 -*lzma) unlzma -c $tmp/fs.cpio.lzma;; 1.8 -*gz) zcat $tmp/fs.cpio.gz 1.9 +*lzma*) unlzma -c $tmp/fs.cpio.lzma;; 1.10 +*gz*) zcat $tmp/fs.cpio.gz 1.11 esac 1.12 rm -rf $tmp 1.13 } 1.14 @@ -235,37 +235,7 @@ 1.15 EOT 1.16 } 1.17 1.18 -# main: option switches 1.19 -case "$opt" in 1.20 - -i) # info: output supported extentions for progs that exist 1.21 - while read exe exts; do 1.22 - [ "$(which $exe)" -o -f /lib/modules/$(uname -r)/kernel/$exe.ko ] && 1.23 - echo -n "$exts " | sed 's/ /;/g' 1.24 - done <<EOT 1.25 -tar $TAR_EXTS $IPK_EXTS 1.26 -cpio $CPIO_EXTS $TAZPKG_EXTS 1.27 -unzip $ZIP_EXTS 1.28 -dpkg-deb $DEB_EXTS 1.29 -rpm2cpio $RPM_EXTS 1.30 -mount $ISO_EXTS $FS_EXTS 1.31 -xz $XZ_EXTS $CPIOXZ_EXTS 1.32 -lrzip $LRZIP_EXTS $CPIOLRZIP_EXTS 1.33 -rar $RAR_EXTS 1.34 -unace ace 1.35 -arj $ARJ_EXTS 1.36 -7zr $_7Z_EXTS 1.37 -lha $LHA_EXTS 1.38 -lzop $LZO_EXTS 1.39 -cabextract cab 1.40 -cromfs-driver $CROMFS_EXTS 1.41 -fs/squashfs/squashfs $SQUASHFS_EXTS 1.42 -drivers/block/cloop $CLOOP_EXTS 1.43 -EOT 1.44 - echo "" 1.45 - exit 1.46 - ;; 1.47 - -o) # open: mangle output for xarchive 1.48 - AWK_MISC=' 1.49 +AWK_MISC=' 1.50 BEGIN { 1.51 attr="-" 1.52 link="-" 1.53 @@ -313,12 +283,52 @@ 1.54 getname(arg) 1.55 if (uid != "blocks") display() 1.56 }' 1.57 - AWKU="$AWK_PROG -v uuid=$(id -u -n) $AWK_MISC" 1.58 - AWK="$AWK_PROG $AWK_MISC" 1.59 + 1.60 +awk0() 1.61 +{ 1.62 + $AWK_PROG "$AWK_MISC $1" 1.63 +} 1.64 + 1.65 +awku() 1.66 +{ 1.67 + $AWK_PROG -v uuid=$(id -u -n) "$AWK_MISC $1" 1.68 +} 1.69 + 1.70 + 1.71 +# main: option switches 1.72 +case "$opt" in 1.73 + -i) # info: output supported extentions for progs that exist 1.74 + while read exe exts; do 1.75 + [ "$(which $exe)" -o -f /lib/modules/$(uname -r)/kernel/$exe.ko ] && 1.76 + echo -n "$exts " | sed 's/ /;/g' 1.77 + done <<EOT 1.78 +tar $TAR_EXTS $IPK_EXTS 1.79 +cpio $CPIO_EXTS $TAZPKG_EXTS 1.80 +unzip $ZIP_EXTS 1.81 +dpkg-deb $DEB_EXTS 1.82 +rpm2cpio $RPM_EXTS 1.83 +mount $ISO_EXTS $FS_EXTS 1.84 +xz $XZ_EXTS $CPIOXZ_EXTS 1.85 +lrzip $LRZIP_EXTS $CPIOLRZIP_EXTS 1.86 +rar $RAR_EXTS 1.87 +unace ace 1.88 +arj $ARJ_EXTS 1.89 +7zr $_7Z_EXTS 1.90 +lha $LHA_EXTS 1.91 +lzop $LZO_EXTS 1.92 +cabextract cab 1.93 +cromfs-driver $CROMFS_EXTS 1.94 +fs/squashfs/squashfs $SQUASHFS_EXTS 1.95 +drivers/block/cloop $CLOOP_EXTS 1.96 +EOT 1.97 + echo "" 1.98 + exit 1.99 + ;; 1.100 + -o) # open: mangle output for xarchive 1.101 while read filter exts; do 1.102 # lrwxrwxrwx USR/GRP 0 2005-05-12 00:32:03 file -> /path/to/link 1.103 case " $exts " in *\ $lc_ext\ *) 1.104 - $DECOMPRESS "$archive" | $filter | $AWK' 1.105 + $DECOMPRESS "$archive" | $filter | awk0 ' 1.106 { 1.107 attr=$1 1.108 size=$3 1.109 @@ -336,7 +346,7 @@ 1.110 case " $ZIP_EXTS " in *\ $lc_ext\ *) 1.111 if [ "$(which zipinfo)" ]; then 1.112 # -rw-r--r-- 2.3 unx 11512 tx defN YYYYMMDD.HHMMSS file 1.113 - zipinfo -T -s-h-t "$archive" | $AWKU' 1.114 + zipinfo -T -s-h-t "$archive" | awku ' 1.115 { 1.116 attr=$1 1.117 size=$4 1.118 @@ -346,7 +356,7 @@ 1.119 }' 1.120 else 1.121 # 6622 2005-04-22 12:29:14 file 1.122 - unzip -l "$archive" | $AWKU' 1.123 + unzip -l "$archive" | awku ' 1.124 /-[0-9]+-/ { 1.125 size=$1 1.126 date=$2 1.127 @@ -357,7 +367,7 @@ 1.128 esac 1.129 # -----------+---------------------+------- 1.130 # 6622 | 22.04.2005 12:29:14 | file 1.131 - [ "$lc_ext" == "cab" ] && cabextract -q -l "$archive" | $AWKU' 1.132 + [ "$lc_ext" == "cab" ] && cabextract -q -l "$archive" | awku ' 1.133 /[0-9]+ |/ { 1.134 size=$1 1.135 date=$3 1.136 @@ -369,7 +379,7 @@ 1.137 # bookmarks/mozilla_bookmarks.html 1.138 # 11512 5231 45% 28-02-05 16:19 -rw-r--r-- F3F3477F m3b 2.9 1.139 # (or 11512 5231 45% 28-02-05 16:19 .D.... 00000000 m3b 2.9) 1.140 - rar v -c- "$archive" | $AWKU' 1.141 + rar v -c- "$archive" | awku ' 1.142 /-[0-9]+-/ { 1.143 getattr($6) 1.144 size=$1 1.145 @@ -385,7 +395,7 @@ 1.146 ace) 1.147 # Date ³Time ³Packed ³Size ³Ratio³File 1.148 # 17.09.02³00:32³ 394116³ 414817³ 95%³ OggDS0993.exe 1.149 - unace v -c- "$archive" | $AWKU' 1.150 + unace v -c- "$archive" | awku ' 1.151 /^[0-9][0-9]\./ { 1.152 # strip the funky little 3 off the end of size 1.153 size=substr($3,1,(length($3)-1)) 1.154 @@ -397,7 +407,7 @@ 1.155 7z|bcj|bcj2) 1.156 # ------------------- ----- ------------ ------------ ------------ 1.157 # 1992-04-12 11:39:46 ....A 356 ANKETA.FRG 1.158 - 7zr l "$archive" | $AWKU' 1.159 + 7zr l "$archive" | awku ' 1.160 /^[0-9]+-/ { 1.161 date=$1 1.162 time=$2 1.163 @@ -413,7 +423,7 @@ 1.164 case " $ARJ_EXTS " in *\ $lc_ext\ *) 1.165 # 001) ANKETA.FRG 1.166 # 3 MS-DOS 356 121 0.340 92-04-12 11:39:46 1 1.167 - arj v "$archive" | $AWKU' 1.168 + arj v "$archive" | awku ' 1.169 BEGIN { name="" } 1.170 /^[0-9]+\) / { 1.171 display() 1.172 @@ -433,7 +443,7 @@ 1.173 case " $LHA_EXTS " in *\ $lc_ext\ *) 1.174 # Desktop/up -> .. 1.175 # lrwxrwxrwx 0/0 0 0 ****** -lhd- 0000 2009-05-03 16:59:03 [2] 1.176 - lha v -q -v "$archive" | $AWK' 1.177 + lha v -q -v "$archive" | awk0 ' 1.178 { 1.179 if ($4 == "") { getlink($0); next } 1.180 attr=$1 1.181 @@ -447,7 +457,7 @@ 1.182 case " $LZO_EXTS " in *\ $lc_ext\ *) 1.183 # ------ ------ ------ ----- ---- ---- ---- 1.184 # LZO1X-1 10057 5675 56.4% 2005-07-25 16:26 path/file 1.185 - lzop -Plv "$archive" | $AWKU' 1.186 + lzop -Plv "$archive" | awku ' 1.187 /-[0-9]+-/ { 1.188 size=$2 1.189 date=$5