#!/bin/bash
#
# Deliver packages and tgz files to ftp.mondorescue.org
#
# $Id: pkg2ftp 1442 2007-05-16 23:39:28Z bruno $
#


(
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/ftp-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

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

spkg=""
pkg=""

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`
	if [  _"$dtype" = _"rpm" ]; then
		if [ _"$p" = _"mondo-doc" ] || [ _"$p" = _"mindi" ]; then
			ar="noarch"
		else
			ar=$ARCH
		fi
		pkg="$pkg ${TOPBUILDDIR}/RPMS/${ar}/$pv-${tag}${suf}.${ar}.rpm"
		spkg="$spkg ${TOPBUILDDIR}/SRPMS/$pv-${tag}${suf}.src.rpm"
	elif [  _"$dtype" = "_deb" ]; then
		pkg="$pkg ${TOPBUILDDIR}/$p_*.deb"
		spkg="$spkg ${TOPBUILDDIR}/$p_*.dsc ${TOPBUILDDIR}/$p_*.tar.gz"
	elif [  _"$dtype" = "_ebuild" ]; then
		spkg="$spkg ${TOPBUILDDIR}/portage/sys-apps/$p/$pv.ebuild"
		pkg="$pkg /usr/portage/packages/All/$pv.tbz2"
	elif [  _"$dfam" = _"slackware" ]; then
		pkg="$pkg ${TOPBUILDDIR}/build-$p/$pv-*-${tag}mr.tgz"
	fi
done

echo "Packages delivery to ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}"
ssh -q ${ACCOUNT} "mkdir -p ${DSTDIR}/${ddir}/${dver} ; cd ${DSTDIR}/${ddir}/${dver} ; rm -f ${pkg} ${spkg}"
scp -p ${pkg} ${spkg} ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
if [  _"$dtype" = _"rpm" ]; then
	if [ _"$ddir" = _"mandriva" ] || [ _"$ddir" = _"mandrake" ]; then
		cat > $MONDOTMP/addmedia << EOF
urpmi.addmedia mondorescue ftp://ftp.mondorescue.org/$ddir/$dver with hdlist.cz
EOF
		chmod 755 $MONDOTMP/addmedia
		scp -p $MONDOTMP/addmedia ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
		# Build a urpmi repository
		ssh -q ${ACCOUNT} "cd ${DSTDIR}/${ddir}/${dver} ; genhdlist ."
	else 
		cat > $MONDOTMP/${ddir}-mondo.repo << EOF
[mondorescue]
name=$ddir $dver - MondoRescue Vanilla Packages
baseurl=ftp://ftp.mondorescue.org/$ddir/$dver
enabled=1
gpgcheck=0
EOF
		scp -p $MONDOTMP/${ddir}-mondo.repo ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
		# Build a yum repository
		ssh -q ${ACCOUNT} "cd ${DSTDIR}/${ddir}/${dver} ; yum-arch . ; createrepo ."
	fi
fi
rm -rf $MONDOTMP
) 2>&1 | tee /tmp/pkg2ftp.log
