From: Daniel Hokka Zakrisson Date: Sun, 18 Mar 2007 15:32:22 +0000 (+0000) Subject: Rename _setVserverDir to _setVserverDirName. X-Git-Tag: release-0.30.214~90 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=846d3ac42cb8a99f1e5b21eecc772826889caae0;p=util-vserver.git Rename _setVserverDir to _setVserverDirName. 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 --- diff --git a/scripts/functions b/scripts/functions index b08cc15..6415353 100644 --- a/scripts/functions +++ b/scripts/functions @@ -282,7 +282,7 @@ function set_init_cwd export INIT_CWD } -function _getVserverDir +function _setVserverDir { local vserver="$1" case "$vserver" in @@ -292,6 +292,15 @@ function _getVserverDir 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 diff --git a/scripts/pkgmgmt b/scripts/pkgmgmt index 5cf54dc..c32434a 100755 --- a/scripts/pkgmgmt +++ b/scripts/pkgmgmt @@ -23,6 +23,7 @@ test -e "$UTIL_VSERVER_VARS" || { } . "$UTIL_VSERVER_VARS" . "$_LIB_FUNCTIONS" +. "$_LIB_VSERVER_BUILD_FUNCTIONS" . "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT" . "$__PKGLIBDIR/vserver.functions" @@ -54,7 +55,6 @@ function init() else rpmdb_mntpoint=/.rpmdb fi - pkgmgmt.initVariables } function _createDirs() @@ -398,6 +398,11 @@ function processVserver() echo $"Vserver '$vserver' does not seem to exist; skipping it..." return 1 } >&2 + + _setVserverDir + _setVserverName + _setVserverDirName + pkgmgmt.initVariables pkgmgmt.isInternal "$vserver" || is_external=1 diff --git a/scripts/vserver b/scripts/vserver index f4080a6..7d5d280 100755 --- a/scripts/vserver +++ b/scripts/vserver @@ -190,11 +190,7 @@ Possible solutions: 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" || \ diff --git a/scripts/vserver-build.functions b/scripts/vserver-build.functions index 1c96613..b970823 100644 --- a/scripts/vserver-build.functions +++ b/scripts/vserver-build.functions @@ -112,7 +112,7 @@ function _setCacheDir } } -function _setVserverDir +function _setVserverDirName { test -z "$VSERVERDIRNAME" || return 0 VSERVERDIRNAME="$VSERVER_NAME" @@ -223,7 +223,7 @@ function base._initVariables { _setRootDir _setCacheDir - _setVserverDir + _setVserverDirName _setVdir findFile _DEV_FILE "$__CONFDIR/.distributions/$DISTRIBUTION/devs" "$__DISTRIBDIR/$DISTRIBUTION/devs" "$__DISTRIBDIR/defaults/devs" diff --git a/scripts/vsomething b/scripts/vsomething index cd3c972..734f0b6 100755 --- a/scripts/vsomething +++ b/scripts/vsomething @@ -106,7 +106,7 @@ for i in "${vservers[@]}"; do 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[@]}" -- )