function verifyVserver()
{
- local xtra="${2:+ mentioned in '$2'}"
- case x$1 in
- (x\#*|x)
- return 1;; # skip empty and comment lines
- ($__CONFDIR/*)
- warning "This version of 'start-vservers' supports only short vserver names; try to remove the '$__CONFDIR' from '$1'$xtra"
- return 1
- ;;
- (/*)
- warning "This version of 'start-vservers' supports only short vserver names; '$1'$xtra is not possible"
- return 1
- ;;
- (*)
- $_VSERVER_INFO -q "$__CONFDIR/$1" VDIR || {
- warning "Vserver '$1'$xtra does not exist; skipping it..."
- return 1;
- }
- ;;
- esac
-
- return 0
+ true
}
###
declare -a tmp_vservers=()
declare -r TAB=$(echo -en "\t")
OPTION_MARK=
-OPTION_MARK_ANY=1
OPTION_PARALLEL=99
OPTION_DEBUG=
NOOPTION_DEBUG=1
(--help) showHelp $0 ;;
(--version) showVersion $0 ;;
(-c) CONFDIR=$2; shift;;
- (-m) OPTION_MARK=$2; OPTION_MARK_ANY=; shift;;
+ (-m) OPTION_MARK=$2; shift;;
(-j) OPTION_PARALLEL=$2; shift;;
(--start) OPTION_FLAVOR=start;;
(--stop) OPTION_FLAVOR=stop;;
let --i
d=$__CONFDIR/${vservers[$i]}/apps/init
f=$d/mark
- { test -n "$OPTION_MARK_ANY"; } || \
{ test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \
{ test -z "$OPTION_MARK" && test ! -e "$f"; } || \
unset vservers[$i]
done
-makedir=$($_MKTEMPDIR vserver-init.XXXXXX)
-okfile=$($_MKTEMP vserver-init.XXXXXX)
-passedfile=$($_MKTEMP vserver-init.XXXXXX)
-trap "$_RM -rf $makedir $okfile $passedfile" EXIT
+makedir=$($_MKTEMPDIR /tmp/vserver-init.XXXXXX)
+okfile=$($_MKTEMP /tmp/vserver-init.XXXXXX)
+passedfile=$($_MKTEMP /tmp/vserver-init.XXXXXX)
+trap "$_RM -rf $makedir $resultfile $passedfile" EXIT
test_cmd=false
case "$OPTION_FLAVOR" in
echo -ne "all:\t"
for i in "${vservers[@]}"; do
- verifyVserver "$i" || continue
-
echo -n ".$i.stamp "
done
echo
test -e "$d"/depends || continue
cat "$d"/depends
done | sort -u | while read vserver; do
- verifyVserver "$vserver" || continue
d="$__CONFDIR/$vserver"/apps/init
case "$OPTION_FLAVOR" in
- (start)
+ start)
if test -e "$d"/depends; then
echo -ne ".$vserver.stamp:\t"
cat "$d"/depends | while read dep; do
- verifyVserver "$dep" "$d"/depends || continue
+ verifyVserver "$dep"
echo -n ".$dep.stamp "
done
echo
fi >>$makedir/Makefile
;;
- (stop)
+ stop)
if test -e "$d"/depends; then
cat "$d"/depends | while read dep; do
- verifyVserver "$dep" "$d"/depends || continue
- echo -e ".$dep.stamp:\t.$vserver.stamp"
+ verifyVserver "$dep"
+ echo -ne ".$dep.stamp:\t.$vserver.stamp"
done
echo
fi >>$makedir/Makefile