devel rpms are needed for srpm
[build.git] / vbuild-init-vserver.sh
index 518c0a3..fbea5d1 100755 (executable)
@@ -13,9 +13,6 @@ function failure () {
 
 # overwrite vserver's internal yum config from what is in
 # .distributions/<distrib>/yum/yum.conf and /yum.repos.d 
-# note : on fc6 I've had trouble with yum.conf, I haven't created a custom yum.conf
-# when using the default yum.conf, 
-# vserver build -m yum complained that /vservers/<v>/var/log/yum.log could not be created
 
 function configure_yum_in_vserver () {
     set -x 
@@ -28,7 +25,13 @@ function configure_yum_in_vserver () {
     cd /etc/vservers/.distributions/${fcdistro}
     if [ -f yum/yum.conf ] ; then
        echo "Initializing yum.conf in $vserver from $(pwd)/yum"
-       cp yum/yum.conf /vservers/$vserver/etc/yum.conf
+        sed -e "s!@YUMETCDIR@!/etc!g;
+                s!@YUMCACHEDIR@!/var/cache/yum!g;
+                s!@YUMLOGDIR@!/var/log!g;
+                s!@YUMLOCKDIR@!/var/lock!g;
+               " yum/yum.conf > /vservers/$vserver/etc/yum.conf
+
+       # post process the various @...@ variables from this yum.conf file.
     else
        echo "Cannot initialize yum.conf in $vserver - using $fcdistro default"
     fi
@@ -53,14 +56,17 @@ function setup_vserver () {
     fcdistro=$1; shift
     personality=$1; shift
 
+    CLONED=0
     # create the new vserver
     if [ ! -d /etc/vservers/$vserver ] ; then
        # check if we can create the vserver from a reference vserver
-       if [ ! -d /vserver/${fcdistro}_reference ] ; then
-           $personality vserver $VERBOSE $vserver build -m clone -- --source /vserver/${fcdistro}_reference
+       #if [ -d /vservers/${fcdistro}_reference ] ; then
+       if [ 0 -ne 0 ] ; then
+           $personality vserver $VERBOSE $vserver build -m clone -- --source /vservers/${fcdistro}_reference
+           CLONED=1
        else
            $personality vserver $VERBOSE $vserver build -m yum -- -d $fcdistro
-       fi
+        fi
     fi
 
     if [ ! -z "$personality" ] ; then
@@ -79,12 +85,15 @@ function setup_vserver () {
     [ $cap -eq 0 ] && echo 'CAP_IPC_LOCK' >> /etc/vservers/$vserver/bcapabilities
 
     # start the vserver so we can do the following operations
-    $personality vyum $vserver -- -y install yum
-    $personality vserver $VERBOSE $vserver pkgmgmt internalize
+    if [ $CLONED -eq 0 ] ; then
+       $personality vyum $vserver -- -y install yum
+       $personality vserver $VERBOSE $vserver pkgmgmt internalize
+    fi
     $personality vserver $VERBOSE $vserver start
     $personality vserver $VERBOSE $vserver exec rm -f /var/lib/rpm/__db*
     $personality vserver $VERBOSE $vserver exec rpm --rebuilddb
 
+    # minimal config in the vserver for yum to work
     configure_yum_in_vserver $vserver $fcdistro
 
     # set up resolv.conf
@@ -152,6 +161,11 @@ function post_install () {
        fi
     fi
     
+    # customize root's prompt
+    cat << PROFILE > /root/.profile
+export PS1="[$vserver] \\w # "
+PROFILE
+
     uid=2000
     gid=2000