#!/bin/bash
#
# Prepare source packages from SVN repository as a tar file
# Also prepare the documentation which is common as a separate tar files
#
# $Id: mkcommon 547 2006-05-13 22:36:25Z bcornec $
#

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

mkdir -p ${TOPDIR}/SOURCES 

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 p in "$c"; do
	v=`cat ${VER}/$p/VERSION`
	echo "Management of $p $v-$REVISION"
	rm -fr $p-$v
	svn export ${VER}/$p $p-$v
	echo "$REVISION" > $p-$v/REVISION
	echo "Generating SVN log file ..."
	svn log -v ${VER}/$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 ${VER}/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 mindi-${MINDI_VER}/rootfs/sbin/parted2fdisk-ia64 
	fi
	if [ "`echo $p | grep -v doc | grep  mondo`" != "" ]; then
		v1=`cat ${VER}/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 cvfhz ${TOPDIR}/SOURCES/$p-$v.tgz $p-$v
	tar cvfhj ${TOPDIR}/SOURCES/$p-$v.tar.bz2 $p-$v
done
