summaryrefslogtreecommitdiff
path: root/vmbuild
blob: 3e6cec9570b71f622741cb6fda13b60463d4ac68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
set -e

if [ "$1" == "" -o "$2" == "" ]; then
    echo "Syntax: $0 <target> <checkout> [<output-dir>]"
    exit 1
fi

target=$1

IFS='-' read distro version bits <<< $target

checkout=$2
output=$3

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
esac

nohup vboxheadless --startvm $target &
vbox=$!
sleep 10
ssh -p $port carl@localhost "rm -rf fedora-*"
echo "run cdist..."
ssh -p $port carl@localhost cdist -p dcpomatic -c $checkout -t host package
if [ "$output" != "" ]; then
    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