--- rpm-4.2/gendiff.improved 2002-07-13 21:53:59.000000000 +0200 +++ rpm-4.2/gendiff 2003-04-28 11:37:53.000000000 +0200 @@ -1,19 +1,42 @@ #!/bin/sh -[ -z "$1" -o -z "$2" ] && { -# usage +function usage () { echo "usage: $0 <directory> <diff-extension>" 1>&2 exit 1 } -find $1 \( -name "*$2" -o -name ".*$2" \) -print | +if [ "$1" = "-p" -a -z "$3" ];then + echo "With -p you need to give the definition of patch (like dummy)" + exit 1 +fi + +if [ "$1" = "-p" ];then + DEFAULT_PATCH="$2" + shift; + shift; +fi + +[ -z "$1" ] && usage + +[ -z "$PATCH_PREFIX" -a -z "$2" ] && { + echo "usage: $0 <directory> <diff-extension>" 1>&2 + exit 1 +} + +if [ -n "$DEFAULT_PATCH" -a "$RPM" ];then + FILEPATCH="$RPM/SOURCES/$(echo $1|sed 's@/@@g')-$DEFAULT_PATCH.patch" + [ -f $FILEPATCH ] && mv -f $FILEPATCH $FILEPATCH.old +fi + +[ -n "$2" ] && PATCH_PREFIX=$2 + +find $1 \( -name "*$PATCH_PREFIX" -o -name ".*$PATCH_PREFIX" \) -print | while read f; do U=-u [ "`basename $f`" = "ChangeLog$2" ] && U=-U0 -# diff ${U} $f `echo $f | sed s/$2\$//` - if [ -r "$f" ]; then - diff ${U} "${f}" "${f%$2}" + if [ -z "$DEFAULT_PATCH" ];then + diff ${U} $f `echo $f | sed s/$PATCH_PREFIX\$//` else - diff ${U} /dev/null "${f%$2}" + diff ${U} $f `echo $f | sed s/$PATCH_PREFIX\$//`|tee $FILEPATCH fi done