use new vuname syntax
[util-vserver.git] / util-vserver / scripts / chcontext
index 8ea6f62..6b04ef3 100755 (executable)
@@ -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