#!/bin/bash
#
# Deliver packages and tgz files to Mandriva
#
# $Id$
#

(
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
. $TOOLHOME/mdv-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
	c="mondo-doc mindi mindi-busybox mondo"
else
	if [ "$1" = "all" ]; then
		c="mindi-kernel mondo-doc mindi mindi-busybox mondo"
	else
		c="$*"
	fi
fi


for p in $c; do
	src=${TOPDIR}/${VER}-$TAG/$p-[1-9]*.tar.bz2
	s=`basename $src`
	oldver=`echo $s | sed "s/$p-\([1-9][0-9.]*\).tar.bz2/\1/"`
	newver=`echo $oldver | sed 's/\([0-9]\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1.\2\3/'`
	distro=`ls -d ${TOPDIR}/${VER}-$TAG/$p-[1-9]*/distributions/mandriva-* | tail -1`
	spec=${distro}/$p.spec
	echo "Updating Mandriva package in $SVNMDV/$p"
	cd $SVNMDV/$p
	mkdir -p SOURCES SPECS
	echo "Modifying $oldver => $newver"
	svn del --force SOURCES/$p-*.tar.bz2 
	cp -a $src SOURCES/$p-$newver.tar.bz2
	tar xfj SOURCES/$p-$newver.tar.bz2
	mv $p-$oldver $p-$newver
	perl -pi -e "s/$oldver/$newver/" $p-$newver/VERSION
	tar cfj SOURCES/$p-$newver.tar.bz2 $p-$newver
	rm -rf $p-$newver
	svn add SOURCES/$p-$newver.tar.bz2
	cp -a $spec SPECS
	# Use mkrel for mdv
	perl -pi -e "s/^Release:[ \t]+..*/Release:	%mkrel $tag/" SPECS/$p.spec
	perl -pi -e 's/^Version:[ \t]+([0-9])\.([0-9]+)\.([0-9]+)/Version:	$1.$2$3/' SPECS/$p.spec
	perl -pi -e 's/mindi >= ..*,/mindi/' SPECS/$p.spec
	$TOOLHOME/mdv-changelog.pl SPECS/$p.spec
	# Changelog management
	echo "Building packages"
	bm
	if [ $? -eq 0 ]; then
		rm -rf BUILD RPMS SRPMS BUILDROOT
		echo "Committing from $SVNMDV/$p into Mandriva's SVN"
		svn ci -F $MONDOTMP/cmt.spec
		if [ $? -eq 0 ]; then
			svn up
			rm -f $MONDOTMP/cmt.spec
			echo "Building on Mandriva's cluster"
			ssh $ACCOUNT $DSTNODE "yr $p"
		fi
	fi
done

rm -rf $MONDOTMP

) 2>&1 | tee /tmp/pk2mdv.log
