sync to 0.30.213
[util-vserver.git] / distrib / gentoo / initpre
index 24ffd80..4a66bf5 100755 (executable)
@@ -21,20 +21,35 @@ vdir="$1"/vdir
 . "$2"
 
 # portage stuff
-
 echo ">>> Adding shared /usr/portage to fstab ... "
 
-if test -d /usr/portage; then
+hash portageq &>/dev/null
+
+if test $? -eq 0; then
+       _PORTDIR=$(portageq portdir)
+       _DISTDIR=$(portageq distdir)
+else
+       _PORTDIR=/usr/portage
+       _DISTDIR=/usr/portage/distfiles
+fi
+
+if test -d $_PORTDIR; then
        ( echo
          echo "# shared portage tree"
-         echo "/usr/portage           /usr/portage           none bind,ro 0 0"
-         echo "/usr/portage/distfiles /usr/portage/distfiles none bind,rw 0 0"
+         echo "${_PORTDIR} /usr/portage           none bind,ro 0 0"
        ) >> "$1"/fstab
 else
-       echo "!!! Cannot find /usr/portage! You should definitely use a"
+       echo "!!! Cannot find a portage tree! You should definitely use a"
        echo "!!! shared portage tree if you have multiple Gentoo guests!"
 fi
 
+if test -d $_DISTDIR; then
+       echo "${_DISTDIR} /usr/portage/distfiles none bind,rw 0 0" >> "$1"/fstab
+else
+       echo "!!! Cannot find distfiles directory! You should definitely use a"
+       echo "!!! shared distfiles directory if you have multiple Gentoo guests!"
+fi
+
 
 # initstyle sanity
 initstyle=sysv
@@ -46,3 +61,5 @@ if test "$initstyle" != "gentoo" -a "$initstyle" != "plain"; then
        echo "!!! The init-style you specified is not supported for Gentoo"
        echo "!!! Please use one of: plain, gentoo"
 fi
+
+echo -n ">>> Unpacking template ... "