#!/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
}

apply()
{
	patch_name=$(stripit $1)
	PATCH=$MMDIR/patches/$patch_name.patch
	CHANGELOG=/tmp/changelog$$
	OUT=/tmp/out$$

	need_file_there $P/txt/$patch_name.txt

	subject=$(head -2 $P/txt/$patch_name.txt | tail -1)
	user=$(head -4 $P/txt/$patch_name.txt | tail -1)

	(
		read x
		read x
		read x
		read x
		cat
	) < $P/txt/$patch_name.txt > $CHANGELOG

	bk_user=$(echo $user | sed -e "s/^.*<\([^@]*\).*/\1/")
	bk_host=$(echo $user | sed -e "s/^.*@\([^>]*\).*/\1/")
	echo subject: $subject
	echo bk_user: $bk_user
	echo bk_host: $bk_host
	cd $BKDIR
	echo bk import -tpatch -CR -y"$subject" $PATCH .
	bk import -tpatch -CR -y"$subject" $PATCH . > $OUT
	s=$?
	cat $OUT
	if [ $s -ne 0 ]
	then
		echo "bk import failed"
		exit 1
	fi
	cmitmsg=$(echo "[PATCH] " $subject ; cat $CHANGELOG)
	export BK_USER=akpm
	export BK_HOST=osdl.org
	if [ x"$bk_user" != "x" ]
	then
		export BK_USER=$bk_user
		export BK_HOST=$bk_host
	fi
	echo bk commit -y"$cmitmsg"
	bk commit -y"$cmitmsg"
	rm -f $OUT $CHANGELOG
}

BKDIR=../mm-work
MMDIR=$(pwd)

for i in $*
do
	cd $MMDIR
	echo applying $i
	apply $i
done

