Sophie

Sophie

distrib > Mandriva > 2007.1 > i586 > by-pkgid > 2e20fbe220a1d0f48a15d5008a7dd680 > files > 1

rpm-4.4.6-22.1mdv2007.1.src.rpm

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