X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fchcontext;h=6b04ef30acb77401f414822fc97cd2557a65cf48;hb=4e2a120c38a3fcd034bc6ed9e36a50accc3effcb;hp=8ea6f626b77f4987cf52978e25e43f61f4d4ec62;hpb=23a8e48ecc3c928ee3ecd19ae5eeaa04a8d8e9ef;p=util-vserver.git diff --git a/util-vserver/scripts/chcontext b/util-vserver/scripts/chcontext index 8ea6f62..6b04ef3 100755 --- a/util-vserver/scripts/chcontext +++ b/util-vserver/scripts/chcontext @@ -131,24 +131,31 @@ done create_cmd=( $_VCONTEXT --create ${OPT_SILENT:+--silent} - ${OPT_CTX:+--xid "$OPT_CTX"} ) - -chain_cmd=( $_VATTRIBUTE -s - ${OPT_CAPS:+--cap "${OPT_CAPS[@]}"} - ${OPT_FLAGS:+--flag "${OPT_FLAGS[@]}"} - ${OPT_SECURE:+--secure} - - $_VUNAME -s - ${OPT_DOMAINNAME:+--domainname "$OPT_DOMAINNAME"} - ${OPT_HOSTNAME:+--nodename "$OPT_HOSTNAME"} ) - -migrate_cmd=( $_VCONTEXT --migrate-self + ${OPT_CTX:+--xid "$OPT_CTX"} + -- ) + +chain_cmd=() + +test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \ + chain_cmd=( "${chain_cmd[@]}" + $_VUNAME --set + --xid self + ${OPT_DOMAINNAME:+-t domainname="$OPT_DOMAINNAME"} + ${OPT_HOSTNAME:+-t nodename="$OPT_HOSTNAME"} ) + +chain_cmd=( "${chain_cmd[@]}" + $_VATTRIBUTE --set + ${OPT_CAPS:+--cap "${OPT_CAPS[@]}"} + ${OPT_FLAGS:+--flag "${OPT_FLAGS[@]}"} + ${OPT_SECURE:+--secure} + --flag !setup ) + +migrate_cmd=( $_VCONTEXT ${OPT_SILENT:+--silent} - ${OPT_DISCONNECT:+--disconnect} - -- "$@" ) + ${OPT_DISCONNECT:+--disconnect} ) -"${create_cmd[@]}" "${chain_cmd[@]}" "${migrate_cmd[@]}" +"${create_cmd[@]}" "${chain_cmd[@]}" -- "${migrate_cmd[@]}" --migrate-self -- "$@" rc=$? -test "$rc" -ne 254 || exec "${migrate_cmd[@]}" +test "$rc" -ne 254 || exec "${migrate_cmd[@]}" --xid "$OPT_CTX" --migrate -- "$@" exit $rc