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