#!/bin/bash
#
# $Id$
#
# Script allowing mondo packages production on various distributions with qemu
#

if [ _"$1" == _"" ]; then
	echo "Syntax: mkqemu [mondo version] ([vm].. )"
	exit -1
fi

if [ _"$2" == _"" ]; then
	export SVN_VM="mdk101 mdk102 mdv2006 rhel3 rhel4 rh73 fc4 sles9"
else
	export SVN_VM="$2"
fi

cat > /tmp/mkmondo << EOF
#!/bin/bash

export SVN_HOME=\$HOME/mondo/svn/branches
export SVN_SSH="ssh -l bcornec"
export SVN_EDITOR=vim
export LANG="C"
export LANGUAGE="C"
export LC_ALL="C"

if [ -d \$SVN_HOME/$1 ]; then
	cd \$SVN_HOME/$1
	svn up
	if [ \$? != 0 ]; then
			echo "Verify SVN installation"
			exit -1
	fi
else
	mkdir -p \$SVN_HOME
	cd \$SVN_HOME
	svn co svn+ssh://bcornec@svn.berlios.de/svnroot/repos/mondorescue/branches/$1 $1
	if [ \$? != 0 ]; then
			echo "Verify SVN installation"
			exit -1
	fi
fi
\$SVN_HOME/$1/tools/mkrpm < /dev/null
\$SVN_HOME/$1/tools/mkdeliv
EOF

ipvm=10.0.2.15
sp=2222

for m in $SVN_VM; do
	vmp=0
	if [ ! -f /users/vmplayer/$m.qemu ]; then
			echo "VM unaccessible. Verify NFS mount"
			exit -1
	fi
	ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu
	if [ $? -ne 0 ]; then
		# Virtual machine alreday started
		vmp=1
		qemu -m 256 -redir tcp:${sp}:${ipvm}:22 /users/vmplayer/$m.qemu &
		sleep 240
	fi
	scp -P $sp /tmp/mkmondo bruno@localhost:
	ssh -p $sp bruno@localhost "chmod 755 ./mkmondo ; ./mkmondo" | tee /tmp/mkvm.log
	if [ $vmp -eq 1 ]; then
		ssh -p $sp root@localhost "halt -p"
	fi
done
