X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvrpm;h=de53ec8b33beb5d99675a505d8c2f21a8c557a5e;hb=bb95a260f18983e80abcad495bd224b386a705e1;hp=6373b5326db41db5a72cb1a297303358085fb0e2;hpb=dd88d39fb6654ba30afa393f136f6d4090ffb34c;p=util-vserver.git diff --git a/util-vserver/scripts/vrpm b/util-vserver/scripts/vrpm index 6373b53..de53ec8 100755 --- a/util-vserver/scripts/vrpm +++ b/util-vserver/scripts/vrpm @@ -1,4 +1,5 @@ -#! /bin/bash -e +#! /bin/bash +# $Id$ # Copyright (C) 2003 Enrico Scholz # @@ -15,9 +16,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars} +: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} test -e "$UTIL_VSERVER_VARS" || { - echo "Can not find util-vserver installation; aborting..." + echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 exit 1 } . "$UTIL_VSERVER_VARS" @@ -25,29 +26,39 @@ test -e "$UTIL_VSERVER_VARS" || { function showHelp() { - echo "Usage: $0 * [--all] [--help] [--version] [--unify] -- +" + echo \ +$"Usage: $0 * [--all] [--quiet|-q] [--help] [--version] [--unify] -- + + +Report bugs to <$PACKAGE_BUGREPORT>." + exit $1 } function showVersion() { - cat <&2 +test "${#vservers[@]}" -ne 1 || is_quiet=1 cnt=0 res=255 -for i in $vservers; do + +for i in "${vservers[@]}"; do cnt=$[ cnt + 1 ] - "$_NEW_NAMESPACE" "$_VRPM_WORKER" "$i" "$@" + + test -n "$is_quiet" || { + colorize bold echo -n "vrpm: operating on vserver " + colorize bold colorize emph echo "$i" + xtermTitle "vrpm: operating on vserver '$i' [$cnt/${#vservers[@]}]" + } + + if pkgmgmt.isInternal "$i"; then + $_VSERVER "$i" exec rpm "$@" + else + callInNamespace "$i" \ + "$_VNAMESPACE" --new -- "$_VRPM_WORKER" "$i" "$@" + fi res=$? + + test $res -eq 0 -o "$is_quiet" || { + colorize error echo -n $"vrpm failed on vserver '$i' with errorcode $res" + echo + } + + test -n "$is_quiet" || echo done test -z "$do_unify" || echo "unify currently unsupported" >&2 test "$cnt" -ge 0 || echo "No vservers specified" >&2 -exit $res \ No newline at end of file +exit $res