#!/bin/bash
#
# Creates build file for packages from SVN repository
#
# $Id$
#


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

cd $TOOLHOME
. ./common-env
. ./svn-env

mkdir -p ${TOPDIR}/SPECS 

if [ "$1" = "" ]; then
		c="mondo-doc mindi mondo"
else
	if [ "$1" = "all" ]; then
			c="mindi-kernel mondo-doc mindi mondo"
	else
		c=$1
	fi
fi


cd ${BASE}/svn

for d in `cat $TOOLHOME/DISTROS`; do
	for p in $c; do
		v=`cat ${SVNBRANCH}/$p/VERSION`
		echo "Management of build of $v-$REVISION"
		rm -fr $p-$v
		svn export ${SVNBRANCH}/$p $p-$v
		echo "$REVISION" > $p-$v/REVISION
		echo "Generating SVN log file ..."
		svn log -v ${SVNBRANCH}/$p > $p-$v/svn.log
	
		if [ _"`echo $p | grep mondo-doc`" != _"" ]; then
			cd ${p}-${v}
			$TOOLHOME/expandver mondorescue-howto.sgml *8
			make -f Makefile.howto
			if [ $? != 0 ]; then
				exit -1
			fi
			make -f Makefile.man
			if [ $? != 0 ]; then
				exit -1
			fi
			cd ..
		fi
	
		if [ _"`echo $p | grep -v kernel | grep mindi`" != _"" ]; then
			v1=`cat ${SVNBRANCH}/mondo-doc/VERSION`
			if [ ! -d mondo-doc-$v1 ]; then
				echo "mondo-doc should be created before $p"
				exit -1
			fi
			(cd mondo-doc-$v1 ; make -f Makefile.man install-$p INSTALLDIR=../$p-$v)
			rm -f $p-$v/rootfs/sbin/parted2fdisk-ia64 
		fi
		if [ "`echo $p | grep -v doc | grep  mondo`" != "" ]; then
			v1=`cat ${SVNBRANCH}/mondo-doc/VERSION`
			if [ ! -d mondo-doc-$v1 ]; then
				echo "mondo-doc should be created before $p"
				exit -1
			fi
			(cd mondo-doc-$v1 ; make -f Makefile.howto install INSTALLDIR=../$p-$v/docs/en ; make -f Makefile.man install-$p INSTALLDIR=../$p-$v/docs/man)
			(cd $p-$v ; echo "Bootstraping mondo ... " ; ./bootstrap)
		fi
	
		# Finally creates the tar files
		echo "Creating $p tar files"
		tar cfhz ${TOPDIR}/SOURCES/$p-$v-$TAG.tgz $p-$v
		tar cfhj ${TOPDIR}/SOURCES/$p-$v-$TAG.tar.bz2 $p-$v
	done
done
