#! /bin/sh # # Usage: $0 [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" ' [ []]' 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