X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fstart-vservers;h=960ee68110976fe2ba295ec43fa722a419a30afa;hb=a63553cd64e631b350e8b24b20eb94e504b4ee53;hp=6f977deec16d1c47211cbb9b941e193293d6cd63;hpb=39a35cdfe3d8ed5c3ad8040933a3afa5f6f82873;p=util-vserver.git diff --git a/util-vserver/scripts/start-vservers b/util-vserver/scripts/start-vservers index 6f977de..960ee68 100755 --- a/util-vserver/scripts/start-vservers +++ b/util-vserver/scripts/start-vservers @@ -102,7 +102,9 @@ vservers=( "$@" ) test -z "$OPTION_ALL" || getAllVservers vservers makedir=$(mktemp -d /tmp/vserver-init.XXXXXX) -trap "rm -rf $makedir" EXIT +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) @@ -119,8 +121,10 @@ esac cat <\$(TTY) 2>\$(TTY) <\$(TTY) +${TAB}$test_cmd || { \ +${TAB}echo -n '.' >>$passedfile ; \ +${TAB}$_VSERVER --sync ${OPTION_DEBUG:+--debug} "\$*" ${OPTION_FLAVOR} >\$(TTY) 2>\$(TTY) <\$(TTY) ; } +${TAB}echo -n '.' >>$okfile ${TAB}@touch "\$@" EOF @@ -137,7 +141,7 @@ i=${#vservers[*]} while test $i -gt 0; do let --i d=$CONFDIR/${vservers[$i]}/apps/init - { test "$OPTION_MARK" && grep -sx "$OPTION_MARK" "$d"/mark; } || \ + { test "$OPTION_MARK" && grep -qx "$OPTION_MARK" "$d"/mark; } || \ { test -z "$OPTION_MARK" && test ! -e "$d"/mark; } || \ unset vservers[$i] done @@ -177,3 +181,8 @@ done #cat $makedir/Makefile 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