From fcdac915bb2b9552b7007c8a878a4fb3c5346ff9 Mon Sep 17 00:00:00 2001 From: Planet-Lab Support Date: Wed, 7 Feb 2007 23:46:30 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'planetlab-4_0-branch'. --- make.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 make.sh diff --git a/make.sh b/make.sh new file mode 100755 index 00000000..05e9affb --- /dev/null +++ b/make.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +BASE=$(cd "$(dirname $0)" && pwd -P) + +# Delete .rpmmacros and parseSpec files in case we are restarting +rm -f $BASE/.rpmmacros $BASE/parseSpec + +# Build development environment first +make -C $BASE myplc-devel + +# Build everything else inside the development environment +export PLC_ROOT=$(echo $BASE/BUILD/myplc-devel-*/myplc/devel/root) +export PLC_DATA=$(echo $BASE/BUILD/myplc-devel-*/myplc/devel/data) + +cleanup() { + sudo umount $PLC_ROOT/data/fedora + sudo umount $PLC_ROOT/data/build + sudo $BASE/BUILD/myplc-devel-*/myplc/host.init stop + sudo chown -h -R $USER $PLC_DATA +} + +trap "cleanup" ERR INT + +# Start development environment +sudo $BASE/BUILD/myplc-devel-*/myplc/host.init start + +# Cross mount the current build directory to the build user home directory +sudo mount -o bind,rw $BASE $PLC_ROOT/data/build + +# Also cross mount /data/fedora if it exists +if [ -d /data/fedora ] ; then + sudo mkdir -p $PLC_ROOT/data/fedora + sudo mount -o bind,ro /data/fedora $PLC_ROOT/data/fedora +fi + +# Delete .rpmmacros and parseSpec files so that they get regenerated +# appropriately in the development environment. +rm -f $BASE/.rpmmacros $BASE/parseSpec + +# Enable networking +sudo cp -f /etc/hosts /etc/resolv.conf $PLC_ROOT/etc/ + +# Run the rest of the build +sudo chroot $PLC_ROOT su - build -c "make $@" +rc=$? + +# Clean up +cleanup +trap - ERR INT + +exit $rc -- 2.47.0