X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=3352f1f222c984def6d01f575e019e3f03e6264f;hb=391310e122de0536c08f62bd46acd3b3b7b13964;hp=db225bf83bfa05a68687d3575823e178ece99a0f;hpb=8a54569aa10e5c44dd8e771968cd59e0537e6de6;p=myplc.git diff --git a/build.sh b/build.sh index db225bf..3352f1f 100755 --- a/build.sh +++ b/build.sh @@ -15,65 +15,14 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id$ +# $Id: build.sh 1095 2007-11-16 09:52:30Z thierry $ # . 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 - < myplc-release +fi +# install it in /etc/myplc-release +install -m 444 myplc-release root/etc/myplc-release + +### Thierry Parmentelat - april 16 2007 +# fix the yum.conf as produced by mkfedora +# so we can use the build's fc4 mirror for various installs/upgrades +# within the chroot jail +# yum_conf_to_build_host is defined in build.functions +yum_conf_to_build_host > root/etc/yum.conf + +### Thierry Parmentelat - may 16 2007 +# the node-dependent image generation script requires root privilege +# to perform various mount operations +sudoers_bootcustom_apache > root/etc/sudoers +chown root:root root/etc/sudoers +chmod 400 root/etc/sudoers + +### Thierry Parmentelat - july 20 2007 +# we now build the myplc doc +# beware that making the pdf file somehow overwrites the html +make -C doc myplc.pdf +rm -f doc/myplc.html +make -C doc myplc.html + +# install at the same place as plcapi - better ideas ? +for doc in myplc.html myplc.pdf ; do + install -m 644 doc/$doc root/usr/share/plc_api/doc/$doc +done + +# we now build the plcapi doc +# this generates a drupal php file from a docbook-generated html +# quick & dirty +docbook_html_to_drupal "OneLab PLCAPI Documentation" \ + root/usr/share/plc_api/doc/PLCAPI.html \ + root/var/www/html/planetlab/doc/plcapi.php +# pdf just get copied +install -m 644 root/usr/share/plc_api/doc/PLCAPI.pdf root/var/www/html/planetlab/doc/plcapi.pdf + +docbook_html_to_drupal "Myplc User Guide" \ + root/usr/share/plc_api/doc/myplc.html \ + root/var/www/html/planetlab/doc/myplc.php +# pdf just get copied +install -m 644 root/usr/share/plc_api/doc/myplc.pdf root/var/www/html/planetlab/doc/myplc.pdf # Install configuration file echo "* myplc: Installing configuration file" -install -D -m 444 $config data/etc/planetlab/default_config.xml +install -D -m 444 default_config.xml data/etc/planetlab/default_config.xml install -D -m 444 plc_config.dtd data/etc/planetlab/plc_config.dtd # handle root's homedir and tweak root prompt @@ -154,10 +159,10 @@ 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[@]}" +pl_move_dirs root data /data "${datadirs[@]}" # Fix permissions on tmp directories -chmod 1777 data/tmp data/usr/tmp data/var/tmp +pl_fixtmp_permissions data # Remove generated bootmanager script rm -f data/var/www/html/boot/bootmanager.sh @@ -165,11 +170,11 @@ rm -f data/var/www/html/boot/bootmanager.sh # 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 \ +install -D -m 644 $pl_DISTRO_YUMGROUPS \ data/var/www/html/install-rpms/planetlab/yumgroups.xml # Make image out of directory echo "* myplc: Building loopback image" -make_image root root.img +pl_make_image root root.img 100000000 exit 0