X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=d2f4acffc0cd48f0b1eaddd881aad5d779ac9dc2;hb=c4cf31a86488b937c5457b4c64edf6069098fd2c;hp=ecc3ea283158f507cee92d2dde97c7f78b6b95bd;hpb=a302d9b7f598d9e964a3d3c2297454dcdcd25a11;p=myplc.git diff --git a/build.sh b/build.sh index ecc3ea2..d2f4acf 100755 --- a/build.sh +++ b/build.sh @@ -3,171 +3,69 @@ # Builds MyPLC, either inside the MyPLC development environment in # devel/root (if PLC_DEVEL_BOOTSTRAP is true), or in the current host # environment (may be itself a MyPLC development environment or a -# Fedora Core 4 environment with the appropriate development packages +# Fedora environment with the appropriate development packages # installed). # -# root.img (loopback image) -# root/ (mount point) -# data/ (various data files) -# data/etc/planetlab/ (configuration files) -# data/root (root's homedir) -# -# Mark Huang -# Copyright (C) 2006 The Trustees of Princeton University +# Marc E. Fiuczynski +# Copyright (C) 2007 The Trustees of Princeton University # # $Id$ # . build.functions -# -# Build myplc inside myplc-devel. Infinite recursion is avoided only -# if PLC_DEVEL_BOOTSTRAP is false in the default configuration file. -# - -if [ "$PLC_DEVEL_BOOTSTRAP" = "true" ] ; then - # So that we don't pollute the actual myplc-devel image, we use - # the directory that was used to build the image instead of the - # image itself, and mount everything by hand. - mount -o bind,rw devel/data devel/root/data - mount -t proc none devel/root/proc - - # If we used a local mirror, bind mount it into the chroot so that - # we can use it again. - if [ "${PLC_DEVEL_FEDORA_URL:0:7}" = "file://" ] ; then - mkdir -p devel/root/data/fedora - mount -o bind,ro ${PLC_DEVEL_FEDORA_URL#file://} devel/root/data/fedora - fi - - # Clean up before exiting if anything goes wrong - trap "umount $PWD/devel/root/data/fedora; - umount $PWD/devel/root/data; - umount $PWD/devel/root/proc" ERR INT - - # Build myplc inside myplc-devel. Make sure PLC_DEVEL_BOOTSTRAP is - # false to avoid infinite recursion. - chroot devel/root su - < $roothome/.profile -export PS1=" \$PS1" -EOF -chmod 644 $roothome/.profile - -# Move "data" directories out of the installation -echo "* myplc: Moving data directories out of the installation" -move_datadirs root data "${datadirs[@]}" - -# Fix permissions on tmp directories -chmod 1777 data/tmp data/usr/tmp data/var/tmp - -# Remove generated bootmanager script -rm -f data/var/www/html/boot/bootmanager.sh +install -D -m 444 default_config.xml ${RPM_BUILD_ROOT}/etc/planetlab/default_config.xml +install -D -m 444 plc_config.dtd ${RPM_BUILD_ROOT}/etc/planetlab/plc_config.dtd -# Initialize node RPMs directory. The PlanetLab-Bootstrap.tar.bz2 -# tarball already contains all of the node RPMs pre-installed. Only -# updates or optional packages should be placed in this directory. -install -D -m 644 ../build/groups/v3_yumgroups.xml \ - data/var/www/html/install-rpms/planetlab/yumgroups.xml +# Install db-config.d files +echo "* myplc: Installing db-config.d files" +mkdir -p ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d +cp db-config.d/* ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d +chmod 444 ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d/* -# Make image out of directory -echo "* myplc: Building loopback image" -make_image root root.img +# yumgroups.xml and yum repo : let noderepo handle that exit 0