Rename _setVserverDir to _setVserverDirName.
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Sun, 18 Mar 2007 15:32:22 +0000 (15:32 +0000)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Sun, 18 Mar 2007 15:32:22 +0000 (15:32 +0000)
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

scripts/functions
scripts/pkgmgmt
scripts/vserver
scripts/vserver-build.functions
scripts/vsomething

index b08cc15..6415353 100644 (file)
@@ -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
index 5cf54dc..c32434a 100755 (executable)
@@ -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
 
index f4080a6..7d5d280 100755 (executable)
@@ -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" || \
index 1c96613..b970823 100644 (file)
@@ -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"
index cd3c972..734f0b6 100755 (executable)
@@ -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[@]}" -- )