#!/bin/sh

#
# Add a file to a patch.
#

. 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
}

usage()
{
	echo "Usage: fpatch patchname filename filename ..."
	echo "       fpatch filename"
	exit 1
}


doit()
{
	patch_name=$1
	file_name=$2
	if is_applied_last $patch_name
	then
		true
	else
		if is_applied $patch_name
		then
			echo $patch_name is not the last-applied patch
			exit 1
		else
			echo $patch_name >> $DB
			if [ ! -f txt/$patch_name.txt ] ; then (
				echo "DESC" ;
				echo "$patch_name" ;
				echo "EDESC") > txt/$patch_name.txt
			fi
		fi
	fi


	if file_in_patch $file_name $patch_name
	then
		echo File $file_name is already in patch $patch_name
		exit 1
	fi

	install_file_in_patch $file_name $patch_name
}

if [ $# == 1 ]
then
	PATCH_NAME=$(top_patch)
	FILENAME=$1
	doit $PATCH_NAME $FILENAME
elif [ $# -ge 2 ]
then
	PATCH_NAME=$(stripit $1)
	shift
	for i in $*
	do
		doit $PATCH_NAME $i
	done
else
	usage
fi
