create the /etc/vservers/*/cache symlink
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Sun, 22 Jan 2006 12:09:39 +0000 (12:09 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Sun, 22 Jan 2006 12:09:39 +0000 (12:09 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2261 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/scripts/vserver-build.functions

index 535117d..9262ade 100644 (file)
@@ -20,6 +20,8 @@
 
 ROOTDIR=
 ROOTDIR_REL=
+CACHEDIR=
+CACHEDIR_REL=
 VSERVERDIRNAME=
 
 VDIR=
@@ -82,6 +84,23 @@ function _setRootDir
     }
 }
 
+function _setCacheDir
+{
+    test -z "$CACHEDIR" || return 0
+    
+    for item in "\"$__CONFDIR/.defaults/cachebase\" 1" "$__PKGCACHEDIR"; do
+       eval set -- "$item"
+       CACHEDIR=$1
+       CACHEDIR_REL=$2
+       test ! -d "$CACHEDIR" || break
+    done
+
+    test -d "$CACHEDIR" || {
+       echo "Cache-directory '$CACHEDIR' does not exist or is invalid" >&2
+       exit 1
+    }
+}
+
 function _setVserverDir
 {
     test -z "$VSERVERDIRNAME" || return 0
@@ -175,7 +194,8 @@ exist already; please try to use '--force', or remove them manually."
     mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/{dev/pts,etc}
     base._addGeneratedFile "$SETUP_CONFDIR"
     
-    ln -s "$VDIR"       "$SETUP_CONFDIR/vdir"
+    ln -s "$VDIR"                     "$SETUP_CONFDIR/vdir"
+    ln -s "$CACHEDIR/$VSERVERDIRNAME" "$SETUP_CONFDIR/cache"
 
     local spec
     while read spec; do
@@ -194,6 +214,7 @@ exist already; please try to use '--force', or remove them manually."
 function base._initVariables
 {
     _setRootDir
+    _setCacheDir
     _setVserverDir
     _setVdir