#!/bin/sh

#
# Release: Manages the release issues for a debian package
#
# Created November 1, Christoph Lameter <clameter@debian.org>
#
# If there is a parameter then do an announcement

set -e

if [ ! -x /usr/bin/scp ]; then
	echo "Secure Shell package not installed."
	exit 1
fi

# Look for debian/changelog

until [ -f debian/changelog ]; do
        cd ..
        if [ `pwd` = "/" ]; then
		echo "Cannot find debian/changelog anywhere."
		exit 1
	fi
done

# Figure out package info we need
LINE=`head -1 debian/changelog`
PACKAGE=`expr "$LINE" : '\(.*\) (.*)'`
VERSION=`expr "$LINE" : '.* (\(.*\))'`
DISTRIB=`expr "$LINE" : '.* (.*) \(.*\);'`

if [ "$DISTRIB" = "stable" ]; then
	MAILADDR="debian-changes@lists.debian.org"
else
	MAILADDR="debian-devel-changes@lists.debian.org"
fi

#MAILADDR=postmaster@localhost


CHANGES=`echo ../$PACKAGE\_$VERSION\_*.changes`
if [ -r $CHANGES ]; then
	FILES=`grep -E "^ [0-9a-f]+ [0-9]+ " $CHANGES|awk '{ print $5; }'`
else
	echo "Cannot find .changes file for this release"
fi

echo "-- Copying Package $PACKAGE Release $VERSION to master"
(cd ..;scp $FILES master.debian.org:/home/Debian/ftp/private/project/Incoming 2>/tmp/$$)
if [ -s /tmp/$$ ]; then
	cat /tmp/$$
	rm /tmp/$$
	echo "Error transferring files. Aborting"
	exit 1;
fi
# Send Changes File
scp $CHANGES master.debian.org:/home/Debian/ftp/private/project/Incoming
echo "-- Announcing the package on $MAILADDR"
if [ "$1" ]; then
	mail $MAILADDR -s"New Package: $PACKAGE $VERSION" <debian/control
else
	mail $MAILADDR -s"$PACKAGE $VERSION uploaded" <$CHANGES
fi
echo "-- Generating marker debian/RELEASED"
touch debian/RELEASED
echo "-- Package successfully released"
