#!/bin/bash
#
# Deliver packages to Fedora
#
# $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/fc-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

cd $TOPBUILDDIR

ppkg=""
spkg=""
lastfc=`cat $TOOLHOME/DISTROS | grep fedora | tail -1 | cut -d_ -f2`

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`
	tar -xz -C $MONDOTMP -f $src $pv/TAG
	tag=`cat $MONDOTMP/$pv/TAG`
	spkg="$spkg ${DSTDIR}/../fedora/${lastfc}/$pv-${tag}.fc${lastfc}.src.rpm"
done

echo "Packages delivery to ${ACCOUNT}"
cat > /tmp/mkmondo << EOF
set -x
TOPBUILDDIR=\`rpmquery --eval '%{_topdir}' 2> /dev/null\`
echo "Working under $TOPBUILDDIR"
rm -f /tmp/mondorescue.log
for p in $spkg ; do
	pkg=\`basename \$p\`
	rpm -ivh \$pkg
	sp=\`rpm -qlp \$pkg | grep -E '\.spec'\`
	src=\`rpm -qlp \$pkg | grep -E '\.tar\.'\`
	fcsp=\`echo \$sp | sed 's/\.spec/-fc.spec/'\`
	spec=\`tar tfz \$TOPBUILDDIR/SOURCES/\$src | grep -E "\$fcsp"\`
	tar xzf \$TOPBUILDDIR/SOURCES/\$src \$spec
	for s in \$spec ; do
		file \$s | grep -q ISO-8859
		if [ \$? -eq 0 ]; then
			cat \$s | recode latin1..utf-8 > \$TOPBUILDDIR/SPECS/\$sp
		else
			mv \$s \$TOPBUILDDIR/SPECS/\$sp
		fi
		# Use dist for fc
		perl -pi -e 's/Release:[ \t]+([0-9]+)..*/Release:	\$1%{?dist}/' \$TOPBUILDDIR/SPECS/\$sp
		perl -pi -e 's/ Bruno Cornec <bruno@mondorescue.org>..*/ Bruno Cornec <bruno@mondorescue.org> %{version}-%{release}/' \$TOPBUILDDIR/SPECS/\$sp
		rm -rf \$TOPBUILDDIR/BUILD/*
		rpmbuild -ba \$TOPBUILDDIR/SPECS/\$sp 2>&1 | tee -a /tmp/mondorescue.log
	done
done
apkg=\`egrep "^Wrote:" /tmp/mondorescue.log | grep -v debug | cut -d: -f2\`
aspkg=\`echo \$apkg | egrep "\.src.rpm"\`
mkdir -p $DSTDIR
mv \$aspkg $DSTDIR
rm -f \$ppkg
cd /tmp
EOF
chmod 755 /tmp/mkmondo
echo "Packages rebuild on ${ACCOUNT}"
scp -p /tmp/mkmondo ${ACCOUNT}:
ssh -q ${ACCOUNT} "cp -v ${spkg} . ; ./mkmondo"
) 2>&1 | tee /tmp/pk2fc.log
