ipseckey: Properly handle failure to create a certificate
[strongswan.git] / testing / scripts / build-rootimage
index 1890c4e..8e10ce5 100755 (executable)
 
 echo "Building root image"
 
-. $PWD/scripts/function.sh
+DIR=$(dirname `readlink -f $0`)
+. $DIR/../testing.conf
+. $DIR/function.sh
 
 [ `id -u` -eq 0 ] || die "You must be root to run $0"
 [ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
 
-check_commands partprobe qemu-nbd
+check_commands partprobe qemu-img qemu-nbd
 
 load_qemu_nbd
 
 mkdir -p $LOOPDIR
-mkdir -p $ROOTIMGCOMPILEDIR
+mkdir -p $SHAREDDIR/compile
+mkdir -p $IMGDIR
 
 log_action "Creating root image $ROOTIMG"
-execute "cp $BASEIMG $ROOTIMG"
+execute "qemu-img create -b $BASEIMG -f $IMGEXT $ROOTIMG"
 
 log_action "Connecting root image to NBD device $NBDEV"
 execute "qemu-nbd -c $NBDEV $ROOTIMG"
@@ -44,20 +47,20 @@ log_action "Mounting proc filesystem to $LOOPDIR/proc"
 execute "mount -t proc none $LOOPDIR/proc"
 do_on_exit umount $LOOPDIR/proc
 
-mkdir -p $LOOPDIR/root/compile
-log_action "Mounting $ROOTIMGCOMPILEDIR as /root/compile"
-execute "mount -o bind $ROOTIMGCOMPILEDIR $LOOPDIR/root/compile"
-do_on_exit umount $LOOPDIR/root/compile
+mkdir -p $LOOPDIR/root/shared
+log_action "Mounting $SHAREDDIR as /root/shared"
+execute "mount -o bind $SHAREDDIR $LOOPDIR/root/shared"
+do_on_exit umount $LOOPDIR/root/shared
 
 echo "Installing software from source"
-RECPDIR=$TESTDIR/testing/scripts/recipes
+RECPDIR=$DIR/recipes
 RECIPES=`ls $RECPDIR/*.mk | xargs -n1 basename`
-execute "cp -r $RECPDIR/patches $LOOPDIR/root/compile" 0
+execute "cp -r $RECPDIR/patches $LOOPDIR/root/shared/compile" 0
 for r in $RECIPES
 do
-       cp $RECPDIR/$r ${LOOPDIR}/root/compile
+       cp $RECPDIR/$r ${LOOPDIR}/root/shared/compile
        log_action "Installing from recipe $r"
-       execute_chroot "make SWANVERSION=$SWANVERSION -C /root/compile -f $r"
+       execute_chroot "make SWANVERSION=$SWANVERSION -C /root/shared/compile -f $r"
 done
 
 log_action "Removing /etc/resolv.conf"