From: Benedikt Boehm Date: Sat, 17 Nov 2007 23:52:59 +0000 (+0000) Subject: fix a corner case in gentoo helpers X-Git-Tag: release-0.30.215~72 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=004894c3589aba3533f4c53b1650d9cc2c19ac69;p=util-vserver.git fix a corner case in gentoo helpers git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2635 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/scripts/vdispatch-conf b/scripts/vdispatch-conf index d1da389..3f21940 100755 --- a/scripts/vdispatch-conf +++ b/scripts/vdispatch-conf @@ -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[@]}" -- "$@" diff --git a/scripts/vemerge b/scripts/vemerge index 97f8e30..1da3e92 100755 --- a/scripts/vemerge +++ b/scripts/vemerge @@ -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[@]}" -- "$@" diff --git a/scripts/vesync b/scripts/vesync index 1107205..60afba8 100755 --- a/scripts/vesync +++ b/scripts/vesync @@ -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 diff --git a/scripts/vupdateworld b/scripts/vupdateworld index 0ce3e5a..a69b693 100755 --- a/scripts/vupdateworld +++ b/scripts/vupdateworld @@ -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 "$@"