More vmbuild fixes.
[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 IFS='-' read distro version bits <<< $1
10
11 checkout=$2
12 output=$3
13
14 if [ "$bits" == "32" ]; then
15     port=2000
16 elif [ "$bits" == "64" ]; then
17     port=2001
18 else
19     echo "Unrecognised bit depth $bits"
20     exit 1
21 fi
22
23 nohup vboxheadless --startvm fedora-22-$bits &
24 vbox=$!
25 sleep 10
26 ssh -p $port carl@localhost "rm -rf fedora-*"
27 ssh -p $port carl@localhost cdist -p dcpomatic -c $checkout -t host package
28 if [ "$output" != "" ]; then
29     tmp=/var/tmp/copy.$$
30     mkdir -p $tmp
31     scp -P $port carl@localhost:fedora-22-$bits/* $tmp/
32     scp $tmp/*.rpm $output/
33     rm -rf $tmp
34 fi
35 set +e
36 ssh -p $port carl@localhost "sudo /sbin/poweroff"
37 set -e
38
39 while [[ ( -d /proc/$vbox ) && ( -z `grep zombie /proc/$vbox/status` ) ]]; do
40     sleep 1
41 done