#!/bin/sh

. patchfns 2>/dev/null ||
. /usr/lib/patch-scripts/patchfns 2>/dev/null ||
. $PATCHSCRIPTS_LIBDIR/patchfns 2>/dev/null ||
{
	echo "Impossible to find my library 'patchfns'."
	echo "Check your install, or go to the right directory"
	exit 1
}

extract_addr()
{
	read l
	read l
	read l
	read l
	a=$(echo "$l" | sed -n -e 's/.*<\(.*@[^>]*\).*/\1/p')
	echo $a
}

if [ x"$SMTP_SERVER" = x ]
then
	SMTP_SERVER=localhost:25
fi

if [ x"$EMAIL_ADDRESS" = x ]
then
	echo "You must set the EMAIL_ADDRESS environment variable to your email address"
	exit 1
fi
FROM=$EMAIL_ADDRESS

TO=""
CC=""

reply()
{
	patch_name=$(stripit $1)
	PATCH=$P/patches/$patch_name.patch
	TXT=$P/txt/$patch_name.txt
	if [ ! -f $TXT ]
	then
		echo $TXT is missing
		exit 1
	fi
	SUBJECT=$(head -n 2 $TXT | tail -n 1)
	author AUTHOR $1 FIRST_AUTHOR
	echo author said $AUTHOR
	if [ x"$AUTHOR" == "x" ]
	then
		echo nobody to notify
		exit 0
	fi
	to=""
	for i in $(echo $AUTHOR | sed -e 's/,/ /g')
	do
		if ! echo "$TO" | grep "$i"
		then
			to=$to" -to $i"
		fi
	done
	if [ x"$cc" != x ]
	then
		cc="-cc $cc"
	fi

	echo makemail -to $AUTHOR -from=$FROM -subject="patch $patch_name.patch added to -mm tree" -date="$(date -R)"
	echo smtpsend -server=$SMTP_SERVER $to -from=$FROM


	(
		echo
		echo -n "This is a note to let you know that I've just added "
		echo "the patch titled"
		echo
		echo "    " $SUBJECT
		echo
		echo "to the -mm tree.  Its filename is"
		echo
		echo "    " $patch_name.patch
		echo
		echo -n "Patches currently in -mm which might be from "
		echo "$FIRST_AUTHOR are"
		echo
		TXT=$(cat-series | sed -e 's/\.patch$/.txt/')
		cd txt
		grep -l $FIRST_AUTHOR $TXT 2> /dev/null |
				sed -e 's/\.txt$/.patch/'
		cd ..
		echo
		echo
		cat patches/$patch_name.patch
	) |
	makemail -to $AUTHOR -from=$FROM \
		-subject="patch $patch_name.patch added to -mm tree" \
		-date="$(date -R)" | \
	smtpsend -server=$SMTP_SERVER $to -from=$FROM
}

for i in $*
do
	reply $1
	echo "acknowledged $1"
done
