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
 . "$2"
 
 # portage stuff
-
 echo ">>> Adding shared /usr/portage to fstab ... "
 
 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
          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
        ) >> "$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
 
        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
 
 # 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 "!!! The init-style you specified is not supported for Gentoo"
        echo "!!! Please use one of: plain, gentoo"
 fi
+
+echo -n ">>> Unpacking template ... "