fix a corner case in gentoo helpers
authorBenedikt Boehm <hollow@gentoo.org>
Sat, 17 Nov 2007 23:52:59 +0000 (23:52 +0000)
committerBenedikt Boehm <hollow@gentoo.org>
Sat, 17 Nov 2007 23:52:59 +0000 (23:52 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2635 94cd875c-1c1d-0410-91d2-eb244daf1a30

scripts/vdispatch-conf
scripts/vemerge
scripts/vesync
scripts/vupdateworld

index d1da389..3f21940 100755 (executable)
@@ -58,15 +58,24 @@ while true; do
        (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
        (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
        (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
-       (--)            shift; break;;
+       (--)            test ${#vsomething_opts[@]} -eq 0 && shift; break;;
        (*)             echo $"vdispatch-conf: internal error; arg=='$1'" >&2; exit 1;;
     esac
     shift
 done
 
-VSOMETHING_TITLE=vemerge
+declare -a vserver_names
+
+while [ $# -gt 0 ]; do
+    case "$1" in
+       (--)            shift; break;;
+       (*)             vserver_names=( "${vserver_names[@]}" "$1" );;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vdispatch-conf
 VSOMETHING_PKGMGMT=1
 
 export VSOMETHING_TITLE VSOMETHING_PKGMGMT
-
-exec $_VSOMETHING "${send_through[@]}" dispatch-conf "${vsomething_opts[@]}" "$@"
+exec $_VSOMETHING "${send_through[@]}" dispatch-conf "${vsomething_opts[@]}" "${vserver_names[@]}" -- "$@"
index 97f8e30..1da3e92 100755 (executable)
@@ -58,16 +58,24 @@ while true; do
        (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
        (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
        (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
-       (--)            shift; break;;
+       (--)            test ${#vsomething_opts[@]} -eq 0 && shift; break;;
        (*)             echo $"vemerge: internal error; arg=='$1'" >&2; exit 1;;
     esac
     shift
 done
 
+declare -a vserver_names
+
+while [ $# -gt 0 ]; do
+    case "$1" in
+       (--)            shift; break;;
+       (*)             vserver_names=( "${vserver_names[@]}" "$1" );;
+    esac
+    shift
+done
+
 VSOMETHING_TITLE=vemerge
 VSOMETHING_PKGMGMT=1
 
 export VSOMETHING_TITLE VSOMETHING_PKGMGMT
-
-test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
-exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "$@"
+exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "${vserver_names[@]}" -- "$@"
index 1107205..60afba8 100755 (executable)
@@ -64,12 +64,22 @@ while true; do
        (--overlay)      overlay="${2%/}";;
        (--overlay-host) overlay_host="${2%/}";;
        (--overlay-only) overlay_only=1;;
-       (--)             shift; break;;
+       (--)             test ${#vsomething_opts[@]} -eq 0 && shift; break;;
        (*)              echo $"vesync: internal error; arg=='$1'" >&2; exit 1;;
     esac
     shift
 done
 
+declare -a vserver_names
+
+while [ $# -gt 0 ]; do
+    case "$1" in
+       (--)            shift; break;;
+       (*)             vserver_names=( "${vserver_names[@]}" "$1" );;
+    esac
+    shift
+done
+
 VSOMETHING_TITLE=vesync
 VSOMETHING_PKGMGMT=1
 
@@ -78,12 +88,12 @@ export VSOMETHING_TITLE VSOMETHING_PKGMGMT
 ret=0
 
 test $overlay_only -eq 0 && \
-       $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "$@" -- --metadata
+       $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "${vserver_names[@]}" -- --metadata
 
 ret=$?
 
 test -n "$overlay" -a -n "$overlay_host" && \
-       $_VSOMETHING "${send_through[@]}" rsync "${vsomething_opts[@]}" "$@" -- \
+       $_VSOMETHING "${send_through[@]}" rsync "${vsomething_opts[@]}" "${vserver_names[@]}" -- \
        -rtW --progress --delete --delete-after "${overlay_host}/" "${overlay}/"
 
 test $? -eq 0 -a $ret -eq 0
index 0ce3e5a..a69b693 100755 (executable)
@@ -58,8 +58,8 @@ while true; do
        (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
        (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
        (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
-       (--)            shift; break;;
-       (*)             echo $"vemerge: internal error; arg=='$1'" >&2; exit 1;;
+       (--)            test ${#vsomething_opts[@]} -eq 0 && shift; break;;
+       (*)             echo $"vupdateworld: internal error; arg=='$1'" >&2; exit 1;;
     esac
     shift
 done
@@ -74,10 +74,8 @@ while [ $# -gt 0 ]; do
     shift
 done
 
-VSOMETHING_TITLE=vemerge
+VSOMETHING_TITLE=vupdateworld
 VSOMETHING_PKGMGMT=1
 
 export VSOMETHING_TITLE VSOMETHING_PKGMGMT
-
-test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
 exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "${vserver_names[@]}" -- world --update --deep --newuse "$@"