libimcv: Fixed processing of PTS Simple Component Evidence
[strongswan.git] / testing / scripts / chroot
1 #!/bin/bash
2
3 DIR=$(dirname `readlink -f $0`)
4 . $DIR/../testing.conf
5 . $DIR/function.sh
6
7 [ `id -u` -eq 0 ] || die "You must be root to run $0"
8 running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
9
10 [ -n "$1" ] || die "$0 <image to mount: base|root|<guest>>"
11
12 check_commands partprobe qemu-nbd
13
14 load_qemu_nbd
15
16 mkdir -p $LOOPDIR
17 mkdir -p $IMGDIR
18 mkdir -p $SHAREDDIR
19
20 echo "Mounting image"
21
22 case "$1" in
23 base)
24         [ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
25         log_action "Connecting base image to NBD device $NBDEV"
26         execute "qemu-nbd -c $NBDEV $BASEIMG"
27         affected="root and guest"
28         ;;
29 root)
30         [ -f "$ROOTIMG" ] || die "Root image $ROOTIMG not found"
31         log_action "Connecting root image to NBD device $NBDEV"
32         execute "qemu-nbd -c $NBDEV $ROOTIMG"
33         affected="guest"
34         ;;
35 *)
36         echo $STRONGSWANHOSTS | grep -q "\b$1\b" || die "Guest $1 not found"
37         GUESTIMG="$IMGDIR/$1.$IMGEXT"
38         [ -f "$GUESTIMG" ] || die "Guest image $GUESTIMG not found"
39         log_action "Connecting guest image to NBD device $NBDEV"
40         execute "qemu-nbd -c $NBDEV $GUESTIMG"
41         ;;
42 esac
43
44 do_on_exit qemu-nbd -d $NBDEV
45 partprobe $NBDEV
46
47 log_action "Mounting $NBDPARTITION to $LOOPDIR"
48 execute "mount $NBDPARTITION $LOOPDIR"
49 do_on_exit umount $LOOPDIR
50
51 log_action "Mounting proc filesystem to $LOOPDIR/proc"
52 execute "mount -t proc none $LOOPDIR/proc"
53 do_on_exit umount $LOOPDIR/proc
54
55 mkdir -p $LOOPDIR/root/shared
56 log_action "Mounting $SHAREDDIR as /root/shared"
57 execute "mount -o bind $SHAREDDIR $LOOPDIR/root/shared"
58 do_on_exit umount $LOOPDIR/root/shared
59
60 if [ -n "$affected" ]; then
61 echo
62 echo "Rebuild the $affected images after making changes to this image!"
63 echo
64 fi
65
66 export debian_chroot="$1"
67 chroot $LOOPDIR /bin/bash -i