minor cleanup
[bootstrapfs.git] / build.sh
index 521e45f..4ccb8f3 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -42,25 +42,28 @@ export PL_BOOTCD=1
 # "Parse" out the packages and groups into the options passed to mkfedora
 # -k = exclude kernel* packages
 options="-k"
-packages=$(pk_getPackages base.lst)
-groups=$(pk_getGroups base.lst)
+lst="base.lst"
+packages=$(pl_getPackages $lst)
+groups=$(pl_getGroups $lst)
 for package in ${packages} ; do  options="$options -p $package"; done
 for group in ${groups} ; do options="$options -g $group"; done
 
+echo "+++++++++++++OPTIONS = ${options}"
+
 # Populate a minimal /dev and then the files for the base PlanetLab-Bootstrap content
 vref=${PWD}/base
 install -d -m 755 ${vref}
-pl_makedevs ${vref}
-pl_setup_chroot ${vref} -k ${options}
+pl_mkfedora ${vref} ${options}
 
-for bootstrapfs in bootstrap-filesystems/*.lst ; do
-    NAME=$(basename $bootstrapfs .lst)
+for lst in bootstrap-filesystems/*.lst ; do
+    NAME=$(basename $lst .lst)
 
     echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)"
 
     # "Parse" out the packages and groups for yum
-    packages=$(grep "^package:.*" $bootstrapfs | awk '{print $2}')
-    groups=$(grep "^group:.*" $bootstrapfs | awk '{print $2}')
+    packages=$(pl_getPackages $lst)
+    groups=$(pl_getGroups $lst)
+    echo "${NAME} has the following packages and groups: ${packages} ${groups}"
 
     vdir=${PWD}/bootstrap-filesystems/${NAME}
     rm -rf ${vdir}/*
@@ -71,11 +74,17 @@ for bootstrapfs in bootstrap-filesystems/*.lst ; do
     rm -f ${vdir}/var/lib/rpm/__db*
 
     # Install the system vserver specific packages
-    [ -n "$systempackages" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y install $systempackages
-    [ -n "$systemgroups" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y groupinstall $systemgroups
+    [ -n "$packages" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y install $packages
+    [ -n "$groups" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y groupinstall $groups
+
+    if [ -f "${vdir}/proc/cpuinfo" ] ; then
+       echo "WARNING: some RPM appears to have mounted /proc in ${NAME}. Unmounting it!"
+       umount ${vdir}/proc
+    fi
 
-    # Create a copy of the system vserver w/o the vserver reference files and make it smaller. 
-    # This is a three step process:
+    # Create a copy of the ${NAME} bootstrap filesystem w/o the base
+    # bootstrap filesystem and make it smaller.  This is a three step
+    # process:
 
     # step 1: clean out yum cache to reduce space requirements
     yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y clean all
@@ -108,9 +117,9 @@ for bootstrapfs in bootstrap-filesystems/*.lst ; do
 done
 
 # Build the base Bootstrap filesystem
-echo "--------STARTING tar'ing PlanetLab-Bootstrap.tar.bz2: $(date)"
 # clean out yum cache to reduce space requirements
 yum -c ${vref}/etc/yum.conf --installroot=${vdir} -y clean all
+echo "--------STARTING tar'ing PlanetLab-Bootstrap.tar.bz2: $(date)"
 tar -cpjf PlanetLab-Bootstrap.tar.bz2 -C ${vref} .
 echo "--------FINISHED tar'ing PlanetLab-Bootstrap.tar.bz2: $(date)"