Hi. I've checked any tried to fix all current mc extfs scrips. Results can be seen in the patch attached.
Every change is explained in the updated extfs-status document (also attached). There are some clues for repository admin there, labeled 'CVS:' BTW it would be great if someone with an RPM system could test 'rpms' and 'trpm' scripts and send any remarks/patches. Regards alpha -- _.|._ |_ _. : Adam Byrtek, alpha@(irc.pl|debian.org) (_|||_)| |(_| : gg 1802819, pgp 0xB25952C0 | : jid alpha.jabberpl.org
MULTIPLE FILES: fixed error handling: removed 2>/dev/null to pass errors to mc without this if something wrong occurs (for example uzip or awk not exists), mc shows only empty archive, there is no error message ================ a (mtools) --------- DONE: removed error redirection to /dev/null now you get a message when sth is wrong works ok apt --- DONE: 'millenium bug' parse error fixed added non-interactive remove using dpkg tested - works ok audio --- DONE: quited mode turned on track number padded with zeroes (track-1 = track-01) (so the tracks are sorted) tested, works ok bpp --- could not test deb --- DONE: added note about hard links install message changed a little works ok CVS: somebody should 'mv deb.in deb' - because deb.in doesn't use any autoconf variables deba, debd ---------- DONE: 'millenium bug' fixed added note about apt extfs deba - redirected sterr of command that could fail debd - LANG=C changed into LC_ALL=C to fix dates messages changed a little works ok dpkg --- DONE: perl 'millenium bug' fixed ftplist ------- DONE: date (locale) problem fixed works ok hp48 --- could not test lslR --- DONE: added export LC_ALL="C" mailfs --- list: wrong 'file size' copyout: ok, but with f3 some mails are being trimmed (strange): >From [EMAIL PROTECTED] Tue Nov 19 09:34:25 2002 Return-Path: <[EMAIL PROTECTED]> Delivered- patchfs --- works with SIMPLE unified diff right now. rpm --- ok rpms --- not checked - need somebody with rpm system trpm --- not checked - need somebody with rpm system uar --- ok uarj --- not tested CVS: mv arj arj.in (uses awk) ucpio --- ok uha --- not tested ulha --- ok uzip --- ok urar --- DONE: -p arg to 'cp' removed (it breaks permisions) works ok uzoo ---- DONE: 'dirty hack' cleanup (create file in /tmp, not ~/.mc) works ok ========= TODO LATER: - audio: add cddb support - patchfs: rewrite - fix mailfs TO TEST: - rpms - trpm - uarj
diff -u extfs/a extfs.alpha/a --- extfs/a 2002-11-08 19:06:15.000000000 +0100 +++ extfs.alpha/a 2002-12-08 14:04:24.000000000 +0100 @@ -29,29 +29,29 @@ /mkdir/ && do { shift; shift; exit 1 if scalar(@ARGV) != 1; - system("$mmd $disk:/$ARGV[0] >/dev/null 2>&1"); + system("$mmd $disk:/$ARGV[0] >/dev/null"); exit 0; }; /rmdir/ && do { shift; shift; exit 1 if scalar(@ARGV) != 1; - system("$mrd $disk:/$ARGV[0] >/dev/null 2>&1"); + system("$mrd $disk:/$ARGV[0] >/dev/null"); exit 0; }; /rm/ && do { shift; shift; exit 1 if scalar(@ARGV) != 1; - system("$mdel $disk:/$ARGV[0] >/dev/null 2>&1"); + system("$mdel $disk:/$ARGV[0] >/dev/null"); exit 0; }; /copyout/ && do { shift; shift; exit 1 if scalar(@ARGV) != 2; ( $src, $dest ) = @ARGV; - system("$mcopy $disk:/$src $dest >/dev/null 2>&1"); + system("$mcopy $disk:/$src $dest >/dev/null"); exit 0; }; /copyin/ && do { shift; shift; exit 1 if scalar(@ARGV) != 2; ( $dest, $src ) = @ARGV; - system("$mcopy $src $disk:/$dest >/dev/null 2>&1"); + system("$mcopy $src $disk:/$dest >/dev/null"); exit 0; }; /.*/ && do { # an unfamiliar command exit 1; }; diff -u extfs/apt extfs.alpha/apt --- extfs/apt 2000-01-03 00:48:55.000000000 +0100 +++ extfs.alpha/apt 2002-12-08 18:07:39.000000000 +0100 @@ -11,7 +11,7 @@ my ($dt) = @_; my (@time); @time = localtime($dt); - $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1]; + $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, +$time[2], $time[1]; return $bt; } @@ -296,13 +296,13 @@ system("rm -f /etc/apt/apt.conf"); } elsif( $archive eq 'sources.list' ) { system("rm -f /etc/apt/sources.list"); -# This interact with user - it can't be execute :-( -# } elsif( $archive =~ /\.deb[ad]?$/ ) { -# my $name = $archive; -# $name =~ s%.*/%%g; -# $name =~ s%_.*%%g; -# system("apt-get remove $name"); -# die("extfs: $archive: Operation not permitted\n") if $? != 0; + } elsif( $archive =~ /\.debd?$/ ) { + # uncommented and changed to use dpkg - alpha + my $name = $archive; + $name =~ s%.*/%%g; + $name =~ s%_.*%%g; + system("dpkg --remove $name >/dev/null"); + die("extfs: $archive: Operation not permitted\n") if $? != 0; } else { die "extfs: $archive: Operation not permitted\n"; } @@ -312,11 +312,10 @@ $pressupdate=<<EOInstall; WARNING - Don\'t use this method if you are not willing to retrieve new lists - of packages. + Don\'t use this method if you don't want to retrieve new lists of packages. + ========================================================================== This is not a real file. It is a way to retrieve new lists of packages. - To update this information go back to the panel and press Enter on this file. EOInstall @@ -324,10 +323,10 @@ $pressupgrade=<<EOInstall; WARNING - Don\'t use this method if you are not willing to perform an upgrade. + Don\'t use this method if you are not willing to perform an upgrade. + =================================================================== This is not a real file. It is a way to perform an upgrade. - To upgrade this information go back to the panel and press Enter on this file. EOInstall diff -u extfs/audio extfs.alpha/audio --- extfs/audio 2000-04-10 14:29:30.000000000 +0200 +++ extfs.alpha/audio 2002-12-08 17:24:48.000000000 +0100 @@ -4,23 +4,23 @@ # # (C) 2000 The Free Software Foundation. # -# FIXME: it would be much nicer to use names like track-01.wav, like cdfs does. -# audiofs_list () { cdparanoia -Q -d $1 2>&1 | grep '^[ 0-9][ 0-9][ 0-9]\.' | while true do read A B C || break + A=`echo $A | sed 's/\.//'` SIZE=$[44+$B*2352] - echo "-r--r--r-- 4 0 0 $SIZE Jan 1 0:00 track${A}wav" + if (( $A < 10 )); then A="0$A"; fi + echo "-r--r--r-- 4 0 0 $SIZE Jan 1 0:00 track-${A}.wav" done } audiofs_copyout () { -TRACK=`echo $2 | sed 's/track//' | sed 's/\.wav//'` -cdparanoia -d $1 -v $TRACK $3 + TRACK=`echo $2 | sed 's/track-0*//' | sed 's/\.wav//'` + cdparanoia -q -d $1 $TRACK $3 >/dev/null } if [ ! -b $2 ] diff -u extfs/deb extfs.alpha/deb --- extfs/deb 2002-12-08 13:56:56.000000000 +0100 +++ extfs.alpha/deb 2002-12-08 17:28:58.000000000 +0100 @@ -23,6 +23,7 @@ { # # CAVEAT: Hard links are listed as if they were symlinks +# [hard links are prohibited in debs by Debian Policy - alpha] # Empty directories do not appear at all # local($archivename)=@_; @@ -170,10 +171,10 @@ $pressinstall=<<EOInstall; WARNING - Don\'t use this method if you are not willing to reinstall everything... + Don\'t use this method if you are not willing to reinstall everything... + ======================================================================= This is not a real file. It is a way to install the package you are browsing. - To install this package go back to the panel and press Enter on this file. In Debian systems, a package is automatically upgraded when you install a new diff -u extfs/deba extfs.alpha/deba --- extfs/deba 2000-01-03 00:48:55.000000000 +0100 +++ extfs.alpha/deba 2002-12-08 18:02:02.000000000 +0100 @@ -4,14 +4,14 @@ # This software is under GNU license # last modification: 1999-12-08 # -# deba +# deba (part of apt extfs) sub bt { my ($dt) = @_; my (@time); @time = localtime($dt); - $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1]; + $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, +$time[2], $time[1]; return $bt; } @@ -108,7 +108,7 @@ print "-r--r--r-- 1 root root $info_size $date INFO\n"; - chop($debd = `dpkg -s $archive | grep -i ^Version | sed 's/^version: //i'`); + chop($debd = `dpkg -s $archive 2> /dev/null | grep -i ^Version | sed +'s/^version: //i'`); chop($deba = `apt-cache show $archive | grep -i ^Version | sed 's/^version: //i'`); if( ! $debd ) { print "-r-xr--r-- 1 root root $install_size $date INSTALL\n"; @@ -154,22 +154,22 @@ $pressinstall=<<EOInstall; - WARNING - Don\'t use this method if you are not willing to install this package... + WARNING + Don\'t use this method if you are not willing to install this package... + ======================================================================= This is not a real file. It is a way to install the package you are browsing. - To install this package go back to the panel and press Enter on this file. EOInstall $pressupgrade=<<EOInstall; - WARNING - Don\'t use this method if you are not willing to upgrade this package... + WARNING + Don\'t use this method if you are not willing to upgrade this package... + ======================================================================= This is not a real file. It is a way to upgrade the package you are browsing. - To upgrade this package go back to the panel and press Enter on this file. EOInstall diff -u extfs/debd extfs.alpha/debd --- extfs/debd 2000-01-03 00:48:55.000000000 +0100 +++ extfs.alpha/debd 2002-12-08 18:10:36.000000000 +0100 @@ -4,14 +4,14 @@ # This software is under GNU license # last modification: 1999-12-08 # -# debd +# debd (part of apt extfs) sub bt { my ($dt) = @_; my (@time); @time = localtime($dt); - $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1]; + $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, +$time[2], $time[1]; return $bt; } @@ -140,7 +140,7 @@ - if ( open(PIPEIN, "LANG=C ls -l /var/lib/dpkg/info/$archive.* |") ) { + if ( open(PIPEIN, "LC_ALL=C ls -l /var/lib/dpkg/info/$archive.* |") ) { while(<PIPEIN>) { chop; next if /\.list$/; @@ -270,66 +270,66 @@ $pressremove=<<EOInstall; - WARNING - Don\'t use this method if you are not willing to remove this package... + WARNING + Don\'t use this method if you are not willing to remove this package... + ====================================================================== This is not a real file. It is a way to remove the package you are browsing. - To remove this package go back to the panel and press Enter on this file. EOInstall $presspurge=<<EOInstall; - WARNING - Don\'t use this method if you are not willing to purge this package... + WARNING + Don\'t use this method if you are not willing to purge this package... + ===================================================================== This is not a real file. It is a way to purge the package you are browsing. - To purge this package go back to the panel and press Enter on this file. EOInstall $pressreconfigure=<<EOInstall; - WARNING - Don\'t use this method if you are not willing to reconfigure this package... + WARNING + Don\'t use this method if you are not willing to reconfigure this package... + =========================================================================== This is not a real file. It is a way to reconfigure the package you are browsing. - To reconfigure this package go back to the panel and press Enter on this file. EOInstall $pressreinstall=<<EOInstall; - WARNING + WARNING Don\'t use this method if you are not willing to reinstall this package... + ========================================================================= This is not a real file. It is a way to reinstall the package you are browsing. - To reinstall this package go back to the panel and press Enter on this file. EOInstall $pressselect=<<EOInstall; - WARNING - Don\'t use this method if you are not willing to select this package... + WARNING + Don\'t use this method if you are not willing to select this package... + ====================================================================== This is not a real file. It is a way to select the package you are browsing. - To select this package go back to the panel and press Enter on this file. EOInstall $pressunselect=<<EOInstall; - WARNING + WARNING Don\'t use this method if you are not willing to unselect this package... + ======================================================================== This is not a real file. It is a way to unselect the package you are browsing. - To unselect this package go back to the panel and press Enter on this file. EOInstall diff -u extfs/deb.in extfs.alpha/deb.in --- extfs/deb.in 2000-01-03 00:50:56.000000000 +0100 +++ extfs.alpha/deb.in 2002-12-08 17:28:55.000000000 +0100 @@ -23,6 +23,7 @@ { # # CAVEAT: Hard links are listed as if they were symlinks +# [hard links are prohibited in debs by Debian Policy - alpha] # Empty directories do not appear at all # local($archivename)=@_; @@ -170,10 +171,10 @@ $pressinstall=<<EOInstall; WARNING - Don\'t use this method if you are not willing to reinstall everything... + Don\'t use this method if you are not willing to reinstall everything... + ======================================================================= This is not a real file. It is a way to install the package you are browsing. - To install this package go back to the panel and press Enter on this file. In Debian systems, a package is automatically upgraded when you install a new diff -u extfs/dpkg extfs.alpha/dpkg --- extfs/dpkg 2000-01-03 00:48:55.000000000 +0100 +++ extfs.alpha/dpkg 2002-12-08 18:13:43.000000000 +0100 @@ -11,7 +11,7 @@ my ($dt) = @_; my (@time); @time = localtime($dt); - $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5], $time[2], $time[1]; + $bt = sprintf "%02d-%02d-%02d %02d:%02d", $time[4], $time[3], $time[5]%100, +$time[2], $time[1]; return $bt; } @@ -266,9 +266,9 @@ WARNING Don\'t use this method if you are not willing to configure all non configured packages. + ============================================================= This is not a real file. It is a way to configure all non configured packages. - To configure packages go back to the panel and press Enter on this file. EOInstall @@ -278,9 +278,9 @@ WARNING Don\'t use this method if you are not willing to remove all unselected packages. + ========================================================== This is not a real file. It is a way to remove all unselected packages. - To remove packages go back to the panel and press Enter on this file. EOInstall @@ -290,10 +290,10 @@ WARNING Don\'t use this method if you are not willing to forget about uninstalled unavailable packages. + ============================================================ This is not a real file. It is a way to forget about uninstalled unavailable packages. - To forget this information go back to the panel and press Enter on this file. EOInstall @@ -303,10 +303,10 @@ WARNING Don\'t use this method if you are not willing to erase the existing information about what packages are available. + ================================================================== This is not a real file. It is a way to erase the existing information about what packages are available. - To clear this information go back to the panel and press Enter on this file. EOInstall diff -u extfs/ftplist.in extfs.alpha/ftplist.in --- extfs/ftplist.in 2002-08-19 00:40:37.000000000 +0200 +++ extfs.alpha/ftplist.in 2002-12-08 18:20:10.000000000 +0100 @@ -47,9 +47,11 @@ } printf "lrwxrwxrwx 1 %-8d %-8d %8d %s %2d %5s %s -> %s\n", uid, 0, length(a[5]), a[1], a[2], a[3], a[4], a[5] } -}' 2>/dev/null +}' } +export LC_ALL="C" + case "$1" in list) mcftplistfs_list $2; exit 0;; esac diff -u extfs/lslR.in extfs.alpha/lslR.in --- extfs/lslR.in 2002-02-12 18:47:27.000000000 +0100 +++ extfs.alpha/lslR.in 2002-12-08 18:21:14.000000000 +0100 @@ -3,6 +3,8 @@ # Based on previous version of lslR # Modified by Tomas Novak <[EMAIL PROTECTED]> April 2000 # (to allow spaces in filenames) +# +# WARNING: assumes that lslR was generated with C locale! ZCAT="gunzip -c" CAT="cat" @@ -38,9 +40,11 @@ # Cannot assign to $9, or spaces in the filename would be reduced. attr=substr($0, 1, length($0)-length(name)) printf "%s%s%s\n", attr, dir, name -}' 2>/dev/null +}' } +export LC_ALL="C" + case "$1" in list) mclslRfs_list "$2"; exit 0;; esac diff -u extfs/uar.in extfs.alpha/uar.in --- extfs/uar.in 2002-12-07 13:59:25.000000000 +0100 +++ extfs.alpha/uar.in 2002-12-08 17:45:49.000000000 +0100 @@ -26,7 +26,7 @@ id[2] = $3; } printf("-%9s 1 %8d %8d %8d %s %s %s %s\n", perms, id[1], id[2], $(NF-5), $(NF-4), $(NF-3), date, $(NF)); - }' 2>/dev/null + }' } mcarfs_copyout () diff -u extfs/uarj extfs.alpha/uarj --- extfs/uarj 1998-12-16 07:16:27.000000000 +0100 +++ extfs.alpha/uarj 2002-12-08 17:43:29.000000000 +0100 @@ -18,7 +18,7 @@ path=$1; getline; printf "-rw-r--r-- 1 %-8d %-8d %8d %s-%s %s %s\n", uid, 0, $1, substr($4,4), substr($4,1,2), substr($5,1,5), path -}' 2>/dev/null +}' } mcarjfs_copyout () diff -u extfs/ucpio.in extfs.alpha/ucpio.in --- extfs/ucpio.in 1999-05-30 21:20:34.000000000 +0200 +++ extfs.alpha/ucpio.in 2002-12-08 17:42:55.000000000 +0100 @@ -51,7 +51,7 @@ # FIXME: Try harder to generate a unique directory if this fails mkdir -m 0700 $TMPDIR || exit 1 cd $TMPDIR - uni_cat "$1" | cpio -icumd "$2" 2>/dev/null + uni_cat "$1" | cpio -icumd "$2" mv "$2" "$3" cd / rm -rf $TMPDIR diff -u extfs/uha.in extfs.alpha/uha.in --- extfs/uha.in 2000-05-09 03:18:31.000000000 +0200 +++ extfs.alpha/uha.in 2002-12-08 17:46:41.000000000 +0100 @@ -8,7 +8,7 @@ mchafs_list () { - eval $HA lf $1 2>/dev/null |@AWK@ -v uid=${UID-0} ' + eval $HA lf $1 |@AWK@ -v uid=${UID-0} ' { date="JanFebMarAprMayJunJulAugSepOctNovDec" } /^===========/ {next} { @@ -26,13 +26,13 @@ $1,1,0,0,filesize, substr(date,(a[2]-1)*3+1,3),a[3],a[1],t[1],t[2],\ path,filename } -}' 2>/dev/null +}' } mchafs_copyout () { cd /tmp - eval $HA xy $1 $2 >/dev/null 2>&1 + eval $HA xy $1 $2 >/dev/null mv -f $2 $3 } diff -u extfs/ulha.in extfs.alpha/ulha.in --- extfs/ulha.in 2001-12-18 23:55:21.000000000 +0100 +++ extfs.alpha/ulha.in 2002-12-08 17:37:45.000000000 +0100 @@ -91,14 +91,14 @@ next; } - ' 2> /dev/null + ' } # The 'copyout' command executive to copy displayed files to a destination mc_lha_fs_copyout() { - $LHA_GET $1 $2 > $3 2> /dev/null + $LHA_GET $1 $2 > $3 } # The 'copyin' command executive to add something to the archive @@ -117,7 +117,7 @@ [ -e ${DIR2} ] || mkdir -p ${DIR2} ln $3 $2 || exit - $LHA_PUT $1 $2 2> /dev/null + $LHA_PUT $1 $2 rm -r ${ONE2} } @@ -128,7 +128,7 @@ trap "rm $TMPCMD; rmdir $TMPDIR; exit 0" 1 2 3 4 15 # FIXME: Try harder to generate a unique directory if this fails mkdir -m 0700 $TMPDIR || exit 1 - $LHA_GET $1 $2 > $TMPCMD 2> /dev/null + $LHA_GET $1 $2 > $TMPCMD chmod a+x $TMPCMD 2> /dev/null $TMPCMD 2> /dev/null rm $TMPCMD diff -u extfs/urar.in extfs.alpha/urar.in --- extfs/urar.in 2002-08-26 06:44:20.000000000 +0200 +++ extfs.alpha/urar.in 2002-12-08 17:15:55.000000000 +0100 @@ -41,7 +41,7 @@ $6="-rw-r--r--" printf "%s 1 %-8d %-8d %8d %3s %2d %4d %s %s\n", $6, uid, 0, $1, substr(date, (a[2]-1)*3+1, 3), a[1], a[3], $5, str } -}' 2>/dev/null +}' } mcrarfs_copyin () @@ -58,7 +58,8 @@ mkdir -p "$di" fi # (cp -p) to preserve date, but $2 is dated now! - cp -p $3 "$3.dir/$2" +# [-p breaks permissions, removed - alpha] + cp $3 "$3.dir/$2" $RAR a "$1" "$2" >/dev/null cd $pwd rm -rf $3.dir @@ -66,7 +67,7 @@ mcrarfs_copyout () { - $UNRAR p -c- -inul "$1" "$2" > $3 2>/dev/null + $UNRAR p -c- -inul "$1" "$2" > $3 } mcrarfs_mkdir () @@ -80,15 +81,15 @@ mkdir -p "$2" # rar cannot create an empty directory touch "$2"/.rarfs - $RAR a -r "$1" "$2" &>/dev/null - $RAR d "$1" "$2"/.rarfs &>/dev/null + $RAR a -r "$1" "$2" >/dev/null + $RAR d "$1" "$2"/.rarfs >/dev/null cd $pwd rm -rf $dir } mcrarfs_rm () { - $RAR d "$1" "$2" &>/dev/null + $RAR d "$1" "$2" >/dev/null } umask 077 diff -u extfs/uzip.in extfs.alpha/uzip.in --- extfs/uzip.in 2002-11-28 23:59:52.000000000 +0100 +++ extfs.alpha/uzip.in 2002-12-08 17:40:40.000000000 +0100 @@ -76,7 +76,7 @@ sub mczipfs_rmdir { my ($qfile) = map { &zipquotemeta($_) } @_; &checkargs(1, 'archive directory', @_); - &safesystem("$cmd_delete $qarchive $qfile/ >/dev/null 2>&1", 12); + &safesystem("$cmd_delete $qarchive $qfile/ >/dev/null", 12); exit; } @@ -87,7 +87,7 @@ my ($qafile, $qfsfile) = map { &zipquotemeta($_) } @_; &checkargs(1, 'archive file', @_); &checkargs(2, 'local file', @_); - &safesystem("$cmd_extract $qarchive $qafile > $qfsfile 2>/dev/null", 11); + &safesystem("$cmd_extract $qarchive $qafile > $qfsfile", 11); exit; } diff -u extfs/uzoo.in extfs.alpha/uzoo.in --- extfs/uzoo.in 2000-09-21 22:58:11.000000000 +0200 +++ extfs.alpha/uzoo.in 2002-12-08 17:14:38.000000000 +0100 @@ -31,39 +31,32 @@ printf "drwxr-xr-x 1 %-8d %-8d %8d %s %2d %4d %02d:%02d %s\n", uid, 0, $1, $5, $4, $6, a[1], a[2], $8 else printf "-rw-r--r-- 1 %-8d %-8d %8d %s %2d %4d %02d:%02d %s\n", uid, 0, $1, $5, $4, $6, a[1], a[2], $8 -}' 2>/dev/null +}' exit 0 } mczoofs_copyout () { - $ZOO xp $1 $2 | tail +6l > $3 2>/dev/null + $ZOO xp $1 $2 | tail +6l > $3 exit 0 } # zoo is stupid and won't be happy when the name has no extension. -# We have to do a small trick :) [pretty dirty, broken hack -- pavel] -if echo $2 | grep '\.zoo$' >/dev/null; then - : +# We have to do a small trick :) + +if echo $2 | grep '\.zoo$' &>/dev/null; then + ARCHIVE=$2 else - SYMLINK=$HOME/.mc/temporary.$2.zoo - if test -f $SYMLINK; then - SYMLINK=$HOME/.mc/temporary.$2. - fi - if test -f $SYMLINK; then - echo "Ugh. I did not expect this to happen. Cleanup your ~/.mc." - sleep 5 - exit 1 - fi - ln -s $2 $SYMLINK + SYMLINK=/tmp/mc-uzoo-tmp.zoo + ln -fs $2 $SYMLINK || exit 1; trap 'rm -f $SYMLINK' 0 1 2 3 5 13 15 - $2=$SYMLINK + ARCHIVE=$SYMLINK fi umask 077 case "$1" in - list) mczoofs_list $2; exit $?;; - copyout) mczoofs_copyout $2 $3 $4; exit $?;; + list) mczoofs_list $ARCHIVE; exit $?;; + copyout) mczoofs_copyout $ARCHIVE $3 $4; exit $?;; esac exit 1