#!/bin/bash set -e if [ "$1" == "" -o "$2" == "" ]; then echo "Syntax: $0 []" 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