do not quote $_VSHELPER in help message (reported by Roman Barczynski,
[util-vserver.git] / util-vserver / scripts / vserver
index 05adf2f..21f1d3d 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/bash
 # $Id$
 
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,10 +37,9 @@ $"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent]
 <vserver> is the name of a vserver.
 
 Possible commands are:
-    start [--nodeps] <start-vservers-opts>*
+    start [--rescue] [--rescue-cmd <cmd>]
                 ... starts the specified vserver
-    stop [--nodeps] <start-vservers-opts>*
-                ... stops the specified vserver
+    stop        ... stops the specified vserver
     restart     ... restarts the specified vserver; this is the subsequent
                     execution of a synchronized 'stop' and a 'start'
     condrestart ... restarts the vserver when it is running already
@@ -91,7 +90,7 @@ function showVersion()
 $"vserver $PACKAGE_VERSION -- manages the state of vservers
 This program is part of $PACKAGE_STRING
 
-Copyright (C) 2003 Enrico Scholz
+Copyright (C) 2003,2004,2005 Enrico Scholz
 This program is free software; you may redistribute it under the terms of
 the GNU General Public License.  This program has absolutely no warranty."
     exit 0
@@ -99,7 +98,7 @@ the GNU General Public License.  This program has absolutely no warranty."
 
 function suexec()
 {
-    . $PKGLIBDIR/vserver.suexec
+    . $__PKGLIBDIR/vserver.suexec
 }
 
 function restart()
@@ -161,15 +160,15 @@ allow_legacy=
 case "$vserver" in
     (./*) VSERVER_DIR=`pwd`/$vserver;;
     (/*)  VSERVER_DIR=$vserver;;
-    (*)          VSERVER_DIR=$CONFDIR/$vserver
+    (*)          VSERVER_DIR=$__CONFDIR/$vserver
          allow_legacy=1
          ;;
 esac
 
-if test "$allow_legacy"; then
+if test -n "$allow_legacy"; then
     do_legacy=
     test ! -e "$VSERVER_DIR/legacy" || do_legacy=1
-    test -d "$VSERVER_DIR" -o ! -e "$CONFDIR/$vserver.conf" || do_legacy=1
+    test -d "$VSERVER_DIR" -o ! -e "$__CONFDIR/$vserver.conf" || do_legacy=1
 
     test -z "$do_legacy" || {
        echo $"WARNING: can not find configuration, assuming legacy method" >&2
@@ -179,8 +178,13 @@ fi
 
 test -d "$VSERVER_DIR" || {
     echo $"\
-Can not find vserver-setup; please make sure that the vserver configuration
-is located at $VSERVER_DIR/."
+Can not find a vserver-setup at '$VSERVER_DIR/'.
+
+Possible solutions:
+* fix the spelling of the '$vserver' vserver name
+* read 'vserver $vserver build --help' about ways to create a new vserver
+* see 'vserver --help' for the syntax of this command
+"
     exit 5
 } >&2
 
@@ -190,14 +194,14 @@ else
     VSERVER_NAME=$(basename "$VSERVER_DIR")
 fi
 
-test "$2" != start -o "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
+test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
     exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
 
-. $PKGLIBDIR/vserver.functions
+. $__PKGLIBDIR/vserver.functions
 case "$2" in
     (start|stop)
        shift 2
-       . $PKGLIBDIR/vserver.$cmd
+       . $__PKGLIBDIR/vserver.$cmd
        ;;
     (suexec|restart)
        shift 2
@@ -226,7 +230,12 @@ case "$2" in
        shift 2
        exec $_VUNIFY "$@" "$vserver"
        ;;
-       
+
+    (hashify)
+       shift 2
+       exec $_VHASHIFY "$@" "$vserver"
+       ;;
+               
     (pkg)
        shift 2
        exec $_VPKG "$vserver" "$@"