Second step towards multiarch myplc https://svn.planet-lab.org/ticket/214
Thierry Parmentelat [Mon, 10 Mar 2008 11:45:24 +0000 (11:45 +0000)]
-- design
* new notion of a 'nodefamily' - that for now is <pldistro>-<arch>
* standard rpm repository is now named /var/www/html/install-rpms/<nodefamily>
  a legacy symlink install-rpms/planetlab is created my myplc packaging
* bootstrafs rpm name is now bootstrapfs-<nodefamily> so that several instances
 from various builds can be installed in the same myplc
* noderepo rpm (named noderepo-<nodefamily>) built as part of the planetlab distro
  this is for installing /var/www/html/intall-rpms/<nodefamily> from another build

-- other changes
* extensive cleanup of mkfedora:
** obsolete  options -p -g -x removed
** option -p removed, pkgsfile is a mandatory argument
** option -k removed, use kexclude: in the pkgs file instead
* also cleaned up pl_root_* functions - no wrapper to pl_root_mkfedora anymore

-- status
* not tested at all - likely to break
* next step planned for storing nodefamily and pass it to yum.php.conf
  (impacted would be bootmanager, nodemanager and nodeconfig)
* a final cleanup in mkfedora would be to define mirrors in a separate .pkgs-like file
* kupdate.sh, as well as possibly other convenience scripts, might be impacted

prep.sh

diff --git a/prep.sh b/prep.sh
index 0280481..0ddafb1 100755 (executable)
--- a/prep.sh
+++ b/prep.sh
@@ -29,8 +29,7 @@ export PATH
 . build.common
 
 # pldistro expected as $1 - defaults to planetlab
-pldistro=planetlab
-[ -n "$@" ] && pldistro=$1
+pldistro=$1 ; shift
 
 # Packages to install, junk and precious : see build/<pldistro>/bootcd.pkgs
 
@@ -45,8 +44,10 @@ install -d -m 755 $bootcd
 rpmquery --specfile bootcd.spec --queryformat '%{VERSION}\n' | head -1 >build/version.txt
 
 # Install base system
+pl_root_makedevs $bootcd
 pkgsfile=$(pl_locateDistroFile ../build/ $pldistro bootcd.pkgs) 
-pl_root_setup_chroot $bootcd -k -f $pkgsfile 
+pl_root_mkfedora $bootcd $pldistro $pkgsfile
+pl_root_tune_image $bootcd
 
 # Install ipnmac (for SuperMicro machines with IPMI)
 echo "* Installing IPMI utilities"