X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fchcontext;h=20ec07c3df95ab13e72788377f149de60e014ef9;hb=7c6b9cbeda86c6b3422d4758f9dfdc95461b86fd;hp=6b04ef30acb77401f414822fc97cd2557a65cf48;hpb=4e2a120c38a3fcd034bc6ed9e36a50accc3effcb;p=util-vserver.git diff --git a/util-vserver/scripts/chcontext b/util-vserver/scripts/chcontext index 6b04ef3..20ec07c 100755 --- a/util-vserver/scripts/chcontext +++ b/util-vserver/scripts/chcontext @@ -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" @@ -110,6 +110,7 @@ OPT_DISCONNECT= OPT_FLAGS=() OPT_SECURE= OPT_SILENT= +OPT_FAKEINIT= while true; do case "$1" in @@ -120,7 +121,12 @@ while true; do --disconnect) OPT_DISCONNECT=1;; --domainname) OPT_DOMAINNAME=$2; shift;; --hostname) OPT_HOSTNAME=$2; shift;; - --flag) OPT_FLAGS=( "${OPT_FLAGS[@]}" "$2" ); shift;; + --flag) + test "$2" = "fakeinit" && \ + OPT_FAKEINIT=--fakeinit || + OPT_FLAGS=( "${OPT_FLAGS[@]}" "$2" ) + shift + ;; --secure) OPT_SECURE=1;; --silent) OPT_SILENT=1;; --) shift; break;; @@ -131,30 +137,31 @@ done create_cmd=( $_VCONTEXT --create ${OPT_SILENT:+--silent} - ${OPT_CTX:+--xid "$OPT_CTX"} - -- ) + ${OPT_CTX:+--xid "$OPT_CTX"} ) chain_cmd=() test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \ chain_cmd=( "${chain_cmd[@]}" - $_VUNAME --set - --xid self + -- + $_VUNAME --set --xid self ${OPT_DOMAINNAME:+-t domainname="$OPT_DOMAINNAME"} - ${OPT_HOSTNAME:+-t nodename="$OPT_HOSTNAME"} ) + ${OPT_HOSTNAME:+ -t nodename="$OPT_HOSTNAME"} ) chain_cmd=( "${chain_cmd[@]}" + -- $_VATTRIBUTE --set - ${OPT_CAPS:+--cap "${OPT_CAPS[@]}"} + ${OPT_CAPS:+--bcap "${OPT_CAPS[@]}"} ${OPT_FLAGS:+--flag "${OPT_FLAGS[@]}"} - ${OPT_SECURE:+--secure} - --flag !setup ) + ${OPT_SECURE:+--secure} ) migrate_cmd=( $_VCONTEXT ${OPT_SILENT:+--silent} - ${OPT_DISCONNECT:+--disconnect} ) + ${OPT_DISCONNECT:+--disconnect} + $OPT_FAKEINIT ) -"${create_cmd[@]}" "${chain_cmd[@]}" -- "${migrate_cmd[@]}" --migrate-self -- "$@" +"${create_cmd[@]}" "${chain_cmd[@]}" -- \ + "${migrate_cmd[@]}" --endsetup --migrate-self -- "$@" rc=$? test "$rc" -ne 254 || exec "${migrate_cmd[@]}" --xid "$OPT_CTX" --migrate -- "$@"