Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates-src > by-pkgid > c454047046288fa22cc04811dc0287e0 > files > 45

rpm-4.12.0.1-20.3.mga5.src.rpm

From aa600c8f9c21d92dc0065692a0c9c06b885e41cb Mon Sep 17 00:00:00 2001
From: unknown author <cooker@mandrivalinux.org>
Date: Mon, 5 Jan 2009 13:29:57 +0000
Subject: [PATCH 01/36] gendiff improved

---
 scripts/gendiff |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/scripts/gendiff b/scripts/gendiff
index d9b0c21..ea9d190 100644
--- a/scripts/gendiff
+++ b/scripts/gendiff
@@ -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}
 : ${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
-- 
1.6.4.4