#!/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 mondo"
else
	if [ "$1" = "all" ]; then
		c="mindi-kernel mondo-doc mindi mondo"
	else
		c=$1
	fi
fi

export pkg=""
echo "Working under $TOPBUILDDIR"
cd $TOPBUILDDIR

ppkg=""
spkg=""

for p in $c; do
	# s= stable; t = trunk; 1-9 = official version
	src=${TOPDIR}/${VER}-$TAG/$p-[1-9st]*.tar.gz
	pv=`basename $src .tar.gz`
	spkg="$spkg ${TOPBUILDDIR}/SRPMS/$pv-${TAG}${suf}.src.rpm"
	ppkg="$ppkg $pv-${TAG}${suf}.src.rpm"
done

echo "Packages delivery to ${ACCOUNT}"
cat > /tmp/mkmondo << EOF
rm -f /tmp/mondorescue.log
for p in $ppkg ; do
	rpm -ivh \$p
	s=\`rpm -qlp \$p | egrep '\.spec'\`
	# Use mkrel for mdv
	perl -pi -e 's/define mrel[ \t]+([0-9]+)\..*/define mrel	%mkrel \$1/' rpm/SPECS/\$s
	perl -pi -e 's/ Bruno Cornec <bruno@mondorescue.org> ([0-9]+.*)/ Bruno Cornec <bcornec@mandriva.org> %{version}-%{release}/' rpm/SPECS/\$s
	rm -rf rpm/BUILD/*
	rpmbuild -ba rpm/SPECS/\$s 2>&1 | tee -a /tmp/mondorescue.log
done
apkg=\`egrep "^Wrote:" /tmp/mondorescue.log | grep -v debug | cut -d: -f2\`
aspkg=\`echo \$apkg | egrep "\.src.rpm"\`
for d in 2006 200664; do
	scp -p \$aspkg chroot\${d}:
	ssh chroot\${d} "for p in $aspkg; do rpm -ivh \`basename \$p\` ; rpmbuild -ba rpm/SPECS/\$s | tee -a /tmp/mondorescue.log ; done ; sudo ftp\${d}contrib \`egrep '^Wrote:' /tmp/mondorescue.log | grep -v debug | cut -d: -f2\`"
done
for p in \$apkg; do
	sudo ftpcontrib \$p
done
rm -f \$ppkg
EOF
chmod 755 /tmp/mkmondo
scp -p ${spkg} /tmp/mkmondo ${ACCOUNT}:
scp -p /tmp/mkmondo ${ACCOUNT}:
echo "Packages rebuild on ${DSTNODE}"
ssh ${ACCOUNT} ${DSTNODE} "./mkmondo"
) 2>&1 | tee /tmp/pk2mdv.log
