From 17df3ac4c4a27f7ea037c89096b9053a821b89e1 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Tue, 27 Nov 2007 23:01:32 +0000 Subject: Fix some bugs in stdout archive code --- ezjail-admin | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ezjail-admin b/ezjail-admin index 5fa2f6a..63a46be 100755 --- a/ezjail-admin +++ b/ezjail-admin @@ -826,18 +826,19 @@ archive) [ "${ezjail_archive}" ] || ezjail_archive="${ezjail_archive_tag}.tar.gz" # if archive location is not absolute, prepend archive directory - [ "${ezjail_archive%%[!/]*}" -a ${ezjail_archive} != "-" ] || ezjail_archive="${ezjail_archivedir}/${ezjail_archive}" + [ "${ezjail_archive%%[!/]*}" -o ${ezjail_archive} = "-" ] || ezjail_archive="${ezjail_archivedir}/${ezjail_archive}" # It's a tar archive, after all case ${ezjail_archive} in - -) unset ezjail_archive_opt;; - *) ezjail_archive="${ezjail_archive}.tar.gz" - # Fall through intended - *.tar.gz|*.tgz) ezjail_archive_opt="-f ${ezjail_archive}";; + *.tar.gz|*.tgz|-) ;; + *) ezjail_archive="${ezjail_archive}.tar.gz";; esac + # For stdout do specify nothing + [ "${ezjail_archive}" = "-" ] && unset ezjail_archive_opt || ezjail_archive_opt="-f ${ezjail_archive}" + cd "${ezjail_rootdir}" || exerr "Error: can't cd to ${ezjail_root}." - pax -wXtz -x ustar "${ezjail_archive_opt}" \ + pax -wXtz -x ustar ${ezjail_archive_opt} \ -s:"^[^\\.].*/ezjail\\.conf\$":ezjail.conf: \ -s:"^[^\\.].*/${ezjail_safename}\$":prop.ezjail_${ezjail_archive_tag}: \ -s:"^[^\\.].*/${ezjail_safename}.norun\$":prop.ezjail_${ezjail_archive_tag}.norun: \ @@ -853,7 +854,7 @@ archive) # To the next jail on command line shift 1 - unset ezjail_archive + unset ezjail_archive ezjail_archive_opt done ;; ####################### ezjail-admin RESTORE ######################## -- cgit v1.2.3