projects
/
cdist.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Partial work on deps.
[cdist.git]
/
vmbuild
diff --git
a/vmbuild
b/vmbuild
index a3954ff44c8c7ed4518648548c43ddba4478327f..3e6cec9570b71f622741cb6fda13b60463d4ac68 100755
(executable)
--- a/
vmbuild
+++ b/
vmbuild
@@
-6,30
+6,43
@@
if [ "$1" == "" -o "$2" == "" ]; then
exit 1
fi
exit 1
fi
-IFS='-' read distro version bits <<< $1
+target=$1
+
+IFS='-' read distro version bits <<< $target
checkout=$2
output=$3
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
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-*"
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
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
fi
+set +e
+echo "power off vm..."
ssh -p $port carl@localhost "sudo /sbin/poweroff"
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
while [[ ( -d /proc/$vbox ) && ( -z `grep zombie /proc/$vbox/status` ) ]]; do
sleep 1
done
-exit 0