Nicer error if windows prefix is not configured when it is required.
[cdist.git] / vmbuild
1 #!/bin/bash
2 set -e
3
4 if [ "$1" == "" -o "$2" == "" ]; then
5     echo "Syntax: $0 <target> <checkout> [<output-dir>]"
6     exit 1
7 fi
8
9 target=$1
10
11 IFS='-' read distro version bits <<< $target
12
13 checkout=$2
14 output=$3
15
16 case $target in
17 fedora-22-32) port=2000;;
18 fedora-22-64) port=2001;;
19 fedora-23-32) port=2002;;
20 fedora-23-64) port=2003;;
21 *)
22     echo "Unrecognised bit depth $bits"
23     exit 1
24 esac
25
26 nohup vboxheadless --startvm $target &
27 vbox=$!
28 sleep 10
29 ssh -p $port carl@localhost "rm -rf fedora-*"
30 echo "run cdist..."
31 ssh -p $port carl@localhost cdist -p dcpomatic -c $checkout -t host package
32 if [ "$output" != "" ]; then
33     echo "copy from vm to $output..."
34     tmp=/var/tmp/copy.$$
35     mkdir -p $tmp
36     scp -P $port carl@localhost:$target/* $tmp/
37     scp $tmp/*.rpm $output/
38     rm -rf $tmp
39 fi
40 set +e
41 echo "power off vm..."
42 ssh -p $port carl@localhost "sudo /sbin/poweroff"
43 set -e
44
45 echo "wait for vm to terminate..."
46 while [[ ( -d /proc/$vbox ) && ( -z `grep zombie /proc/$vbox/status` ) ]]; do
47     sleep 1
48 done