Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 07e56ec36f5b6db53acae40086fcf8ad > files > 14

rpm-4.4.2.3-20mnb2.src.rpm

--- rpm-4.4.2.2/scripts/gendiff.pix	2007-09-11 08:28:15.000000000 +0200
+++ rpm-4.4.2.2/scripts/gendiff	2007-10-19 14:55:00.000000000 +0200
@@ -1,24 +1,55 @@
 #!/bin/sh
 
-[ -z "$1" -o -z "$2" ] && {
-# usage
+function usage () {
   echo "usage: $0 <directory> <diff-extension>" 1>&2
   exit 1
 }
 
-: ${DIFF:=diff}
+: ${DIFF:=diff -p}
 : ${GENDIFF_DIFF_ARGS:=-up}
 : ${GENDIFF_DIFF_CHANGELOG_ARGS:=-U0}
 
-find $1 \( -name "*$2" -o -name ".*$2" \) -print | sort |
+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 | sort |
 while read f; do
     U="${GENDIFF_DIFF_ARGS}"
     [ "`basename $f`" = "ChangeLog$2" ] && U="${GENDIFF_DIFF_CHANGELOG_ARGS}"
-    diffcmd="${DIFF} ${U} /dev/null ${f%$2}"
-#    ${DIFF} ${U} $f `echo $f | sed s/$2\$//`
+
     if [ -r "$f" ]; then
-        diffcmd="${DIFF} ${U} ${f} ${f%$2}"
-    fi
+        from="$f"
+    else
+       from="/dev/null"
+    fi    
+    diffcmd="${DIFF} ${U} $from ${f%$PATCH_PREFIX}"
+
     echo "${diffcmd}"
-    ${diffcmd}
+    if [ -z "$DEFAULT_PATCH" ];then
+       ${diffcmd}
+    else
+       ${diffcmd} |tee -a $FILEPATCH
+    fi    
 done