Fix IPv6 address assignment.
[util-vserver.git] / scripts / vserver
index 545206d..f4080a6 100755 (executable)
@@ -37,7 +37,7 @@ $"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent]
 <vserver> is the name of a vserver.
 
 Possible commands are:
-    start [--rescue] [<rescue-cmd> <args>*]
+    start [--rescue [--rescue-init]] [<rescue-cmd> <args>*]
                 ... starts the specified vserver
     stop        ... stops the specified vserver
     restart     ... restarts the specified vserver; this is the subsequent
@@ -153,7 +153,8 @@ SELF=( "$0" "${OPTION_ALL[@]}" )
 vserver=$1
 cmd=$2
 
-test "$cmd" != build || { shift 2; exec "$_VSERVER_BUILD" -n "$vserver" "$@"; }
+test "$cmd" != build || { shift 2; exec $_VNAMESPACE --new -- \
+    "$_VSERVER_BUILD" $OPTION_DEBUG -n "$vserver" "$@"; }
 
 
 allow_legacy=
@@ -205,6 +206,9 @@ test "$2" != enter -a "$2" != stop || \
     ! isVserverRunning "$VSERVER_DIR" || \
     exec $_VNAMESPACE --enter "$VSERVER_DIR" -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
 
+set_init_cwd
+cd /
+
 . $__PKGLIBDIR/vserver.functions
 case "$2" in
     (start|stop|delete)
@@ -227,7 +231,8 @@ case "$2" in
        suexec 0 chkconfig "$@"
        ;;
     (enter)
-       OPTS_VCONTEXT_ENTER=( "${OPTS_VCONTEXT_ENTER[@]}" --vlogin )
+       useVlogin && \
+         OPTS_VCONTEXT_ENTER=( "${OPTS_VCONTEXT_ENTER[@]}" --vlogin )
        getEnterShell "$VSERVER_DIR"
        suexec 0 "${ENTER_SHELL[@]}"
        ;;