#!/bin/bash
#
# $Id$
#
# Script build packages on various distributions with qemu
#

#if [ _"$1" == _"" ]; then
	#echo "Syntax: build2qemu [version-tag [vm1]..|vmx]] )"
	#exit -1
#fi

# Syntax: build2qemu [version-tag [vm1]..|vmx]]

umask 022
dname=`dirname $0`
prem=`echo $dname |cut -c1`
if [ ${prem} == "/" ]; then
	export TOOLHOME=$dname
else
	export TOOLHOME=${PWD}/$dname
fi


. $TOOLHOME/common-env
. $TOOLHOME/distro-env

# We need to get $VER and $TAG
if [ "$1" = "" ]; then
	LAST=`cat ${TOPDIR}/LAST`
else
	LAST=$1
	shift
fi
VER=`echo $LAST | cut -d- -f1`
TAG=`echo $LAST | cut -d- -f2`
echo "Working on ${VER}-$TAG"

if [ _"$1" == _"" ]; then
	export VMS=`cat ${TOOLHOME}/DISTROS` 
	single=0
else
	export VMS="$*"
	single=1
fi

mkdir -p $TMP
cat > $TMP/mkmondo << EOF
#!/bin/bash

export LANG="C"
export LANGUAGE="C"
export LC_ALL="C"
export TOOLHOME=$TOOLHOME

$TOOLHOME/build2pkg $LAST < /dev/null
$TOOLHOME/pkg2ftp $LAST
EOF
chmod 755 $TMP/mkmondo

if [ $single -eq 0 ]; then
	$TOOLHOME/file2ftp
fi
cd $TOOLHOME/..
tar cfz $TMP/mkmondo.tar.gz $TOOLHOME $TMP/mkmondo $TOPDIR/${VER}-$TAG

for m in $VMS; do
	vmp=0
	if [ ! -f /users/qemu/$m.qemu ]; then
			echo "VM unaccessible. Verify NFS mount"
			rm -rf $TMP
			exit -1
	fi
	export sp=2222
	ps auxww | grep qemu | grep -v grep | grep -q /users/qemu/$m.qemu
	if [ $? -ne 0 ]; then
		# Virtual machine alreday started
		vmp=1
		$TOOLHOME/mkqemu $m &
		sleep 300
	fi
	ssh -p $sp root@localhost "perl -pi -e 's|/home/bruno|/users/bruno|' /etc/passwd /home/bruno/.rpmmacros ; mv /home /users; rpm -e tetex tetex-latex passivetex jadetex texinfo xmltex linuxdoc-tools xmlto docbook-utils-pdf subversion tetex-context tetex-dvips docbook-utils"
	scp -P $sp $TMP/mkmondo.tar.gz bruno@localhost:
	ssh -p $sp bruno@localhost "cd / ; rm -rf ~bruno/mondo ~bruno/RPMS/BUILD/* ~bruno/RPMS/tmp/* ; tar xfz ~bruno/mkmondo.tar.gz ; $TMP/mkmondo " | tee $TMP/mkvm.log
	#ssh -p $sp bruno@localhost "cd / ; tar xfz ~bruno/mkmondo.tar.gz ; $TMP/mkmondo ; rm -f $TMP" | tee $TMP/mkvm.log
	if [ $vmp -eq 1 ]; then
		ssh -p $sp root@localhost "halt -p"
		sleep 300
		proces=`ps auxww | grep qemu | grep -v grep | grep /users/qemu/$m.qemu | awk '{print $2}'`
		if [ "$proces" != "" ]; then
			kill $proces
		fi
	fi
done

# Should be removed at the end
rm -rf $TMP
