#! /bin/sh
#
# Usage: $0 <src-root> [patches-tree [subtree-to-patch]]
# eg, "apply-patches /usr/src src sys"
#
case $# in
	1)	srcroot="$1"
		patchtree=patches
		subtree=.
		;;
	2)	srcroot="$1"
		patchtree="$2"
		subtree=.
		;;
	3)	srcroot="$1"
		patchtree="$2"
		subtree="$3"
		;;
	*)	echo Usage: "$0" '<src-root> [<patches> [<subtree>]]' 1>&2
		exit 1
		;;
esac
( cd "$patchtree" && find "$subtree" -type f -print ) |
while read fn
do
	echo + patch -f -E "$srcroot"/"$fn" \< "$patchtree"/"$fn"
	patch -f -E "$srcroot"/"$fn" < "$patchtree"/"$fn" 2>&1
	echo + rm -f "$srcroot"/"$fn".orig
	rm -f "$srcroot"/"$fn".orig
done
