made 'nodev' work
[util-vserver.git] / util-vserver / scripts / start-vservers
index 960ee68..2844d47 100755 (executable)
@@ -19,7 +19,7 @@
 
 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
 test -e "$UTIL_VSERVER_VARS" || {
-    echo "Can not find util-vserver installation; aborting..." >&2
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
     exit 1
 }
 . "$UTIL_VSERVER_VARS"
@@ -101,29 +101,35 @@ test -n "$OPTION_FLAVOR" || {
 vservers=( "$@" )
 test -z  "$OPTION_ALL" || getAllVservers vservers
 
+orig_vservers=$vservers
+i=${#vservers[*]}
+
+while test $i -gt 0; do
+    let --i
+    d=$CONFDIR/${vservers[$i]}/apps/init
+    f=$d/mark
+    { test "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \
+    { test -z "$OPTION_MARK" && test ! -e "$f"; } || \
+    unset vservers[$i]
+done
+
 makedir=$(mktemp -d /tmp/vserver-init.XXXXXX)
 okfile=$(mktemp     /tmp/vserver-init.XXXXXX)
 passedfile=$(mktemp /tmp/vserver-init.XXXXXX)
 trap "rm -rf $makedir $resultfile $passedfile" EXIT
 
-defaulttty="$CONFDIR/.defaults/apps/init/tty"
-test -c "$defaulttty" || defaulttty=$(tty)
-test -c "$defaulttty" || defaulttty=/dev/null
-
 test_cmd=false
 case "$OPTION_FLAVOR" in
     start)     test_cmd="${_VSERVER}   --silent '\$*' status";;
     stop)      test_cmd="! ${_VSERVER} --silent '\$*' status";;
 esac
 
-
 {
     cat <<EOF
-TTY = ${defaulttty}
 .%.stamp:
 ${TAB}$test_cmd || { \
 ${TAB}echo -n '.' >>$passedfile ; \
-${TAB}$_VSERVER --sync ${OPTION_DEBUG:+--debug} "\$*" ${OPTION_FLAVOR} >\$(TTY) 2>\$(TTY) <\$(TTY) ; }
+${TAB}$_VSERVER --defaulttty --sync ${OPTION_DEBUG:+--debug} "\$*" ${OPTION_FLAVOR}; }
 ${TAB}echo -n '.' >>$okfile
 ${TAB}@touch "\$@"
 EOF
@@ -135,17 +141,6 @@ EOF
     echo
 } >$makedir/Makefile
 
-orig_vservers=$vservers
-i=${#vservers[*]}
-
-while test $i -gt 0; do
-    let --i
-    d=$CONFDIR/${vservers[$i]}/apps/init
-    { test "$OPTION_MARK"    && grep -qx "$OPTION_MARK" "$d"/mark; } || \
-    { test -z "$OPTION_MARK" && test ! -e "$d"/mark; } || \
-    unset vservers[$i]
-done
-
 for i in "${vservers[@]}"; do
     d=$CONFDIR/$i/apps/init
     echo "$i"
@@ -153,9 +148,6 @@ for i in "${vservers[@]}"; do
     cat "$d"/depends
 done | sort -u | while read vserver; do
     d=$CONFDIR/$vserver/apps/init
-    test ! -e $d/tty || {
-       echo -e ".$vserver.stamp:\tTTY=$d/tty" >>$makedir/Makefile
-    }
 
     case "$OPTION_FLAVOR" in
        start)
@@ -185,4 +177,4 @@ make -k ${NOOPTION_DEBUG:+-s} ${OPTION_PARALLEL:+-j$OPTION_PARALLEL} -C $makedir
 test -s "$passedfile"          || exit 0
 test -s "$okfile"              || exit 1
 cmp -s "$passedfile" "$okfile" || exit 2
-exit 0
\ No newline at end of file
+exit 0