esac
}
+function populateDev
+{
+ local spec
+
+ mkdir -p -m755 "$VDIR"/dev
+ mkdir -m755 "$VDIR"/dev/pts
+
+ while read spec; do
+ makeDevEntry "$VDIR"/dev $spec
+ done <$_DEV_FILE
+}
+
function populateDirectory
{
local dst=$1
}
}
-function _setVserverDir
+function _setVserverDirName
{
test -z "$VSERVERDIRNAME" || return 0
VSERVERDIRNAME="$VSERVER_NAME"
ERROR: Can not find configuration for the distribution '$DISTRIBUTION';
please read http://linux-vserver.org/HowToRegisterNewDistributions
for information how to add support for your own distribution."
+
+ export DISTRIBUTION
}
function base._addGeneratedFile
mkdir -p -m755 "$VDIR"
$_SETATTR --~barrier "$VDIR"
+ $_SETATTR --barrier "$VDIR"/.. || colwarn $"\
+WARNING: could not set the barrier attribute on '$VDIR/..',
+ please set it manually."
base._addGeneratedFile "$VDIR"
- mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/{dev/pts,etc}
+ mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/etc
base._addGeneratedFile "$SETUP_CONFDIR"
ln -s "$VDIR" "$SETUP_CONFDIR/vdir"
ln -s "$CACHEDIR/$VSERVERDIRNAME" "$SETUP_CONFDIR/cache"
- local spec
- while read spec; do
- makeDevEntry "$VDIR"/dev $spec
- done <$_DEV_FILE
+ populateDev
mkdir -p "$VDIR"/proc
findAndCopy "$VDIR"/etc/hosts "$__CONFDIR"/.defaults/files/hosts "$__CONFDIR/.distributions/$DISTRIBUTION"/files/hosts \
{
_setRootDir
_setCacheDir
- _setVserverDir
+ _setVserverDirName
_setVdir
findFile _DEV_FILE "$__CONFDIR/.distributions/$DISTRIBUTION/devs" "$__DISTRIBDIR/$DISTRIBUTION/devs" "$__DISTRIBDIR/defaults/devs"
{
__BASE_SUCCESS=1
}
+
+function startSleepingGuest
+{
+ local guest="$1"
+ local timeout="${2:-15}"
+ $_VSERVER "$guest" start --rescue --rescue-init bash -c "
+ exec > /dev/null
+ exec 2> /dev/null
+ trap 'kill -s 9 -- -1; exit 0' INT
+ i=0
+ while [ \$i -lt $timeout ]; do
+ sleep 1
+ let ++i
+ done
+ kill -s 15 -- -1
+ sleep 1
+ kill -s 9 -- -1"
+}
+
+function stopSleepingGuest
+{
+ local guest="$1"
+ $_VSERVER "$guest" stop --rescue-init
+}