added some color to the life
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Fri, 21 May 2004 15:27:13 +0000 (15:27 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Fri, 21 May 2004 15:27:13 +0000 (15:27 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1571 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/scripts/functions
util-vserver/scripts/vapt-get
util-vserver/scripts/vrpm

index 966cacf..9c30174 100644 (file)
@@ -119,6 +119,42 @@ function isNumber
     return 0
 }
 
+## Usage: colorize <style> <command>
+function colorize
+{
+    local      style=$1
+    shift
+    
+    if ! tty -s; then
+       "$@"
+    else
+       local   cfile
+       findFile cfile "$CONFDIR"/.defaults/styles/"$style" ''
+       if test "$cfile"; then
+         cat "$cfile"
+       else
+         case "$style" in
+           (bold)      echo -ne "\e[1m";;
+           (emph)      echo -ne "\e[34m";;
+           (info)      echo -ne "\e[0;34m";;
+           (warn*)     echo -ne "\e[1;31m";;
+           (error)     echo -ne "\e[1;33;41m";;
+           (*)         ;;
+         esac
+       fi
+           
+       "$@"
+       echo -ne "\e[m"
+    fi
+}
+
+## Usage: xtermTitle <title>
+function xtermTitle
+{
+    tty -s || return 0
+    echo -ne "\e]0;$@\007"
+}
+
 _VS_LOCKS=''
 ## Usage: lock <lockfile> [<timeout>]
 function lock
index 11836dd..5cdf1a3 100755 (executable)
@@ -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,12 +66,19 @@ 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 ]
 
+    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
@@ -79,6 +86,13 @@ for i in "${vservers[@]}"; do
            "$_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
index 2a20943..fc3b9ad 100755 (executable)
@@ -27,7 +27,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 function showHelp()
 {
     echo \
-$"Usage: $0 <vserver-name>* [--all] [--help] [--version] [--unify] -- <rpm-params>+
+$"Usage: $0 <vserver-name>* [--all] [--quiet|-q] [--help] [--version] [--unify] -- <rpm-params>+
 
 Report bugs to <$PACKAGE_BUGREPORT>."
 
@@ -48,10 +48,14 @@ the GNU General Public License.  This program has absolutely no warranty."
 }
 
 do_unify=
+is_quiet=
 declare -a vservers=()
 
 while test "$#" -ge 1; do
     case "$1" in
+       --quiet|-q)
+           is_quiet=1
+           ;;
        --all)
            getAllVservers tmp
            vservers=( "${vservers[@]}" "${tmp[@]}" )
@@ -71,20 +75,34 @@ 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 ]
 
+    test "$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 "$is_quiet" || echo
 done
 
 test -z "$do_unify" || echo "unify currently unsupported" >&2