Rename _getVserverDir to _setVserverDir.
Add _setVserverName to set VSERVER_NAME.
pkgmgmt.initVariables cannot run before _setVserverDirName, and the initialization must happen once per guest.
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2515
94cd875c-1c1d-0410-91d2-
eb244daf1a30
export INIT_CWD
}
-function _getVserverDir
+function _setVserverDir
{
local vserver="$1"
case "$vserver" in
esac
}
+function _setVserverName
+{
+ if test -e "$VSERVER_DIR"/name; then
+ read VSERVER_NAME <"$VSERVER_DIR"/name
+ else
+ VSERVER_NAME=$(basename "$VSERVER_DIR")
+ fi
+}
+
function _pkgMountBindDir()
{
test "$1" != "$2" || return 0
}
. "$UTIL_VSERVER_VARS"
. "$_LIB_FUNCTIONS"
+. "$_LIB_VSERVER_BUILD_FUNCTIONS"
. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
. "$__PKGLIBDIR/vserver.functions"
else
rpmdb_mntpoint=/.rpmdb
fi
- pkgmgmt.initVariables
}
function _createDirs()
echo $"Vserver '$vserver' does not seem to exist; skipping it..."
return 1
} >&2
+
+ _setVserverDir
+ _setVserverName
+ _setVserverDirName
+ pkgmgmt.initVariables
pkgmgmt.isInternal "$vserver" || is_external=1
exit 5
} >&2
-if test -e "$VSERVER_DIR"/name; then
- read VSERVER_NAME <"$VSERVER_DIR"/name
-else
- VSERVER_NAME=$(basename "$VSERVER_DIR")
-fi
+_setVserverName
# Create a new namespace when starting the guest
test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
}
}
-function _setVserverDir
+function _setVserverDirName
{
test -z "$VSERVERDIRNAME" || return 0
VSERVERDIRNAME="$VSERVER_NAME"
{
_setRootDir
_setCacheDir
- _setVserverDir
+ _setVserverDirName
_setVdir
findFile _DEV_FILE "$__CONFDIR/.distributions/$DISTRIBUTION/devs" "$__DISTRIBDIR/$DISTRIBUTION/devs" "$__DISTRIBDIR/defaults/devs"
if pkgmgmt.isInternal "$i"; then
$_VSERVER "$i" exec "$cmd" "$@"
else
- _getVserverDir "$i"
+ _setVserverDir "$i"
( _generateChbindOptions "$VSERVER_DIR"
$_VSERVER "$i" status &> /dev/null && \
CHBIND_CMD=( "$_CHBIND" "${CHBIND_OPTS[@]}" -- )