rpmsafe: realpath fixes
[nethome.git] / bin / exx
diff --git a/bin/exx b/bin/exx
index 1c87db0..97f021b 100755 (executable)
--- a/bin/exx
+++ b/bin/exx
@@ -13,6 +13,7 @@ use constant FORMAT_TAR=>'tar xf $pathname;i=`echo *`;echo "$i"|grep -q " " || t
 use constant FORMATS=>{
        "rpm"    =>'rpm2cpio $pathname|cpio -id --quiet',       #-v #FIXME: --sparse doesn't work, why?
        "zip"    =>'unzip -Lq $pathname',
+       "jar"    =>'unzip -Lq $pathname',
        "a"      =>'ar x $pathname',
        "deb"    =>'ar x $pathname;'
                   .'for i in *.tar.gz;do j=`basename $i .tar.gz`;mkdir -p $j;cd $j;tar xzf ../$i;cd ..;rm -f $i;done',
@@ -23,6 +24,9 @@ use constant FORMATS=>{
        "tar.bz2"=>do { $_=FORMAT_TAR; s/xf/xjf/; $_; },
        "tar.bz" =>"tar.bz2",
        "tbz"    =>"tar.bz",
+       "tar.xz" =>do { $_=FORMAT_TAR; s/xf/xJf/; $_; },
+       "txz"    =>do { $_=FORMAT_TAR; s/xf/xJf/; $_; },
+       "msi"    =>'cabextract -q $pathname',
        };
 
 die "Syntax: $0 <pathname((".join("|",map(".$_",sort keys %{+FORMATS})).")|=<ext>)>..."