X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvapt-get;h=5cdf1a31eeadb85dd82fb2e6907ea5455c192f60;hb=ad8bbbc806a25d166b211b211af6465fc424353e;hp=ed1de7fe201417c63b7e86c913710e50e231d6a1;hpb=66ff8eb2e4f7e51fab7bf0eae4a756c9f54b7132;p=util-vserver.git diff --git a/util-vserver/scripts/vapt-get b/util-vserver/scripts/vapt-get index ed1de7f..5cdf1a3 100755 --- a/util-vserver/scripts/vapt-get +++ b/util-vserver/scripts/vapt-get @@ -18,7 +18,7 @@ : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} test -e "$UTIL_VSERVER_VARS" || { - echo "Can not find util-vserver installation; aborting..." >&2 + echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 exit 1 } . "$UTIL_VSERVER_VARS" @@ -46,18 +46,18 @@ the GNU General Public License. This program has absolutely no warranty." exit $1 } +is_quiet= declare -a vservers=() while test "$#" -ge 1; do case "$1" in + --) shift; break;; + --help) showHelp 0;; + --quiet|-q) is_quiet=1 ;; --all) getAllVservers tmp vservers=( "${vservers[@]}" "${tmp[@]}" ) ;; - --) - shift; break;; - --help) - showHelp 0;; --version) showVersion 0;; *) vservers=( "${vservers[@]}" "$1" ) @@ -66,13 +66,33 @@ while test "$#" -ge 1; do done test "$#" -ge 1 || showHelp 1 >&2 +test "${#vservers[@]}" -ne 1 || is_quiet=1 cnt=0 res=255 for i in "${vservers[@]}"; do cnt=$[ cnt + 1 ] - "$_VNAMESPACE" --new -- "$_VAPT_GET_WORKER" "$i" "$@" + + test "$is_quiet" || { + colorize bold echo -n "vaptget: operating on vserver " + colorize bold colorize emph echo "$i" + xtermTitle "vaptget: operating on vserver '$i' [$cnt/${#vservers[@]}]" + } + + if pkgmgmt.isInternal "$i"; then + $_VSERVER "$i" exec apt-get "$@" + else + callInNamespace "$i" \ + "$_VNAMESPACE" --new -- "$_VAPT_GET_WORKER" "$i" "$@" + fi res=$? + + test $res -eq 0 -o "$is_quiet" || { + colorize error echo -n $"vapt-get failed on vserver '$i' with errorcode $res" + echo + } + + test "$is_quiet" || echo done test "$cnt" -ge 0 || echo "No vservers specified" >&2