(*) groups distro-dependent files in build/config.<distro>
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Thu, 6 Dec 2007 08:55:20 +0000 (08:55 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Thu, 6 Dec 2007 08:55:20 +0000 (08:55 +0000)
(*) renamed .lst files into .pkgs (lst suffix commonly used for other/tmp purposes)
(*) distro-dependent files are (mostly) optional, defaults to planetlab
(*) mkfedora accepts new -f argument : to pass a pkgs file rather than -p .. -g ..
(*) mkfedora supports junk: and precious: in pkgs file
    this is from the former bootcd/prep.sh - to reduce footprint

Notes.
(*) this is untested
(*) mkfedora still supports -x (exclude) on the command line and in pkgs file
    however I suspect this feature is never used
(*) mkfedora is still a separate command - could/should be merged into buld.common
(*) myplc/build.functions could/should be merged into build.common as well

build.sh
planetlab-base.lst [deleted file]
planetlab-filesystems/production.lst [deleted file]

index ed99814..7b0056b 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -45,28 +45,25 @@ export PL_BOOTCD=1
 
 # "Parse" out the packages and groups into the options passed to mkfedora
 # -k = exclude kernel* packages
-lst="${pldistro}-base.lst"
-popts=$(pl_getPackagesOptions2 ${pl_DISTRO_NAME} $lst)
-gopts=$(pl_getGroupsOptions2 ${pl_DISTRO_NAME} $lst)
+pkgsfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.pkgs)
 
-options="${popts} ${gopts} -k"
-
-echo "+++++++++++++OPTIONS = ${options}"
+echo "+++++++++++++pkgsfile=$pkgsfile (and -k)"
 
 # Populate a minimal /dev and then the files for the base PlanetLab-Bootstrap content
 vref=${PWD}/base
 install -d -m 755 ${vref}
-pl_mkfedora ${vref} ${options}
+pl_mkfedora ${vref} -k -f $pkgsfile 
 
-for lst in ${pldistro}-filesystems/*.lst ; do
-    NAME=$(basename $lst .lst)
+for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do
+    NAME=$(basename $pkgs .pkgs | sed -e s,bootstrapfs-,,)
 
     echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)"
 
     # "Parse" out the packages and groups for yum
-    packages=$(pl_getPackages2 ${pl_DISTRO_NAME} $lst)
-    groups=$(pl_getGroups2 ${pl_DISTRO_NAME} $lst)
-    echo "${NAME} has the following packages and groups: ${packages} ${groups}"
+    packages=$(pl_getPackages ${pl_DISTRO_NAME} $pkgs)
+    groups=$(pl_getGroups ${pl_DISTRO_NAME} $pkgs)
+    echo "${NAME} has the following packages : ${packages}"
+    echo "${NAME} has the following groups : ${groups}"
 
     vdir=${PWD}/${pldistro}-filesystems/${NAME}
     rm -rf ${vdir}/*
diff --git a/planetlab-base.lst b/planetlab-base.lst
deleted file mode 100644 (file)
index 73d42d3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-package: bash
-package: filesystem
-package: udev
-package: coreutils
-# see former bootmanager/support-files/buildnode.sh
-package: python
-group: PlanetLab
diff --git a/planetlab-filesystems/production.lst b/planetlab-filesystems/production.lst
deleted file mode 100644 (file)
index 114d87b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# Install the "PlanetLab" group. This requires that the PlanetLab
-# build system install the appropriate yumgroups.xml file (currently
-# build/groups/v4_yumgroups.xml) in $RPM_BUILD_DIR/../RPMS/ and that
-# mkfedora runs either yum-arch or createrepo on that directory. dev
-# is specified explicitly because of a stupid bug in its %post script
-# that causes its installation to fail; see the mkfedora script for a
-# full explanation. coreutils and python are specified explicitly
-# because groupinstall does not honor Requires(pre) dependencies
-# properly, most %pre scripts require coreutils to be installed first,
-# and some of our %post scripts require python.
-
-package: python
-group: PlanetLab
\ No newline at end of file