set -e
if [ "$1" == "" -o "$2" == "" ]; then
- echo "Syntax: $0 <target> <version> [<output-dir>]"
+ echo "Syntax: $0 <target> <checkout> [<output-dir>]"
+ exit 1
fi
-IFS='-' read distro version bits <<< $1
+target=$1
+
+IFS='-' read distro version bits <<< $target
-bits=$1
checkout=$2
output=$3
-if [ "$bits" == "32" ]; then
- port=2000
-elif [ "$bits" == "64" ]; then
- port=2001
-else
+case $target in
+fedora-22-32) port=2000;;
+fedora-22-64) port=2001;;
+fedora-23-32) port=2002;;
+fedora-23-64) port=2003;;
+*)
echo "Unrecognised bit depth $bits"
exit 1
-fi
+esac
-nohup vboxheadless --startvm fedora-22-$bits &
+nohup vboxheadless --startvm $target &
+vbox=$!
sleep 10
ssh -p $port carl@localhost "rm -rf fedora-*"
-ssh -p $port carl@localhost cdist -p dcpomatic -c v$checkout -t host package
+echo "run cdist..."
+ssh -p $port carl@localhost cdist -p dcpomatic -c $checkout -t host package
if [ "$output" != "" ]; then
- scp -P $port carl@localhost:fedora-22-$bits/* $output/
+ echo "copy from vm to $output..."
+ tmp=/var/tmp/copy.$$
+ mkdir -p $tmp
+ scp -P $port carl@localhost:$target/* $tmp/
+ scp $tmp/*.rpm $output/
+ rm -rf $tmp
fi
+set +e
+echo "power off vm..."
ssh -p $port carl@localhost "sudo /sbin/poweroff"
+set -e
+
+echo "wait for vm to terminate..."
+while [[ ( -d /proc/$vbox ) && ( -z `grep zombie /proc/$vbox/status` ) ]]; do
+ sleep 1
+done