testing: Optionally build/install strongSwan only on a specific guest
authorTobias Brunner <tobias@strongswan.org>
Wed, 11 Jul 2018 16:38:09 +0000 (18:38 +0200)
committerTobias Brunner <tobias@strongswan.org>
Wed, 11 Jul 2018 16:38:09 +0000 (18:38 +0200)
This may be used to test different strongSwan versions against each
other.

testing/scripts/build-strongswan

index 150fce3..13fd1e6 100755 (executable)
@@ -1,7 +1,5 @@
 #!/bin/bash
 
-echo "Preparing root image"
-
 DIR=$(dirname `readlink -f $0`)
 . $DIR/../testing.conf
 . $DIR/function.sh
@@ -26,8 +24,20 @@ load_qemu_nbd
 mkdir -p $LOOPDIR
 mkdir -p $IMGDIR
 
-log_action "Connecting root image to NBD device $NBDEV"
-execute "qemu-nbd -c $NBDEV $ROOTIMG"
+case "$2" in
+"")
+       log_action "Connecting root image to NBD device $NBDEV"
+       execute "qemu-nbd -c $NBDEV $ROOTIMG"
+       ;;
+*)
+       echo $STRONGSWANHOSTS | grep -q "\b$2\b" || die "Guest $2 not found"
+       GUESTIMG="$IMGDIR/$2.$IMGEXT"
+       [ -f "$GUESTIMG" ] || die "Guest image $GUESTIMG not found"
+       log_action "Connecting guest image to NBD device $NBDEV"
+       execute "qemu-nbd -c $NBDEV $GUESTIMG"
+       ;;
+esac
+
 do_on_exit qemu-nbd -d $NBDEV
 partprobe $NBDEV
 
@@ -74,7 +84,9 @@ cp $RECPDIR/$RECIPE $SHAREDDIR/build-strongswan
 log_action "Installing from recipe $RECIPE"
 execute_chroot "make SRCDIR=/root/strongswan BUILDDIR=/root/shared/build-strongswan -f /root/shared/build-strongswan/$RECIPE"
 
-# cleanup before mounting guest images
-on_exit
-
-$DIR/build-guestimages
+# requild the guest images if we modified the root image
+if [ -z "$2" ]; then
+       # cleanup before mounting guest images
+       on_exit
+       $DIR/build-guestimages
+fi