--- /dev/null
+#!/bin/bash
+
+STABLE_VERSION=".37"
+EMAIL_ADDRESS='<gregkh@suse.de>'
+
+extract_addr()
+{
+ read l
+ read l
+ read l
+ read l
+ a=$(echo "$l" | sed -n -e 's/.*<\(.*@[^>]*\).*/\1/p')
+ echo $a
+}
+
+if [ x"$EMAIL_ADDRESS" = x ]
+then
+ echo "You must set the EMAIL_ADDRESS environment variable to your email address"
+ exit 1
+fi
+FROM=$EMAIL_ADDRESS
+
+TO=""
+CC=""
+STABLE='<stable@kernel.org>'
+STABLE_COMMITS='<stable-commits@vger.kernel.org>'
+
+author()
+{
+ first_author=""
+ TXT=$2
+ if [ ! -f $TXT ]
+ then
+ echo "$TXT is missing"
+ exit 1
+ fi
+ author=""
+ while read l
+ do
+ # skip the Message-ID: line so we don't send email to the wrong place
+ #echo "$l"
+ reply=$(echo "$l" | grep -i Message-ID:)
+ if [ x"$reply" != x ]
+ then
+ continue
+ fi
+
+ # if this is the start of the diff, then it's time to stop looking
+ diff=$(echo "$l" | grep "^---")
+ if [ x"$diff" != x ]
+ then
+ #echo "diffstart!!!!!"
+ break
+ fi
+
+ for x in $l
+ do
+ a=$(echo "$x" | sed -n -e 's/.*<\(.*@[^>]*\).*/\1/p')
+ if [ x"$a" != x ]
+ then
+ if [ x"$author" == x ]
+ then
+ author=$a
+ first_author=$a
+ else
+ author="$author $a"
+ fi
+ fi
+ done
+ done < $TXT
+ author=$(echo "$author" | tr ' ' '\n' | grep -v "$first_author" |
+ sort | uniq)
+ author="$first_author $author"
+ eval $1=$(echo $author | sed -e 's/ /,/g')
+ if [ x"$3" != x ]
+ then
+ eval $3=$first_author
+ fi
+}
+
+
+
+reply()
+{
+ PATCH=$1
+# patch_name=$(stripit $1)
+# PATCH=$P/patches/$patch_name.patch
+# TXT=$P/txt/$patch_name.txt
+# if [ ! -f $TXT ]
+# then
+# echo $TXT is missing
+# exit 1
+# fi
+ #echo "PATCH=$PATCH"
+# SUBJECT=`grep "Subject:" $PATCH`
+ SUBJECT=`grep "Subject:" $PATCH | sed s/Subject\:\ //`
+# SUBJECT=$(head -n 2 $PATCH | tail -n 1)
+ MESSAGE_ID=`grep -i "^Message-ID:" $PATCH | cut -f 2 -d ' ' | cut -f 2 -d '<' | cut -f 1 -d '>'`
+ author AUTHOR $1 FIRST_AUTHOR
+ #echo "author said $AUTHOR"
+ #echo "first_author said $FIRST_AUTHOR"
+ if [ x"$AUTHOR" == "x" ]
+ then
+ echo "nobody to notify"
+ exit 0
+ fi
+ to=""
+ for i in $(echo "$AUTHOR" | sed -e 's/,/ /g')
+ do
+ if ! echo "$TO" | grep "$i"
+ then
+ to=$to" -to $i"
+ fi
+ done
+ if [ x"$cc" != x ]
+ then
+ cc="-cc $cc"
+ fi
+
+ CHARSET=$(guess-charset "$PATCH")
+ if test "x$CHARSET" = "ANSI_X3.4-1968"; then
+ CHARSET=
+ else
+ CHARCMD="-charset=$CHARSET"
+ fi
+
+ ID=`make_message_id`
+
+ #echo "makemail -to $AUTHOR -from=$FROM -subject=\"patch $PATCH added to gregkh tree\" -date=\"$(date -R)\" -message=$ID $CHARCMD"
+ echo "sending to $AUTHOR"
+
+ (
+ echo
+ echo "The patch below does not apply to the $STABLE_VERSION-stable tree."
+ echo "If someone wants it applied there, or to any other stable or longterm"
+ echo "tree, then please email the backport, including the original git commit"
+ echo "id to <stable@kernel.org>."
+ echo
+ echo "thanks,"
+ echo
+ echo "greg k-h"
+ echo
+ echo "------------------ original commit in Linus's tree ------------------"
+ echo
+ cat $PATCH
+ echo
+# echo
+# echo -n "Patches currently in gregkh-2.6 which might be from "
+# echo "$FIRST_AUTHOR are"
+# echo
+# grep -lR $FIRST_AUTHOR /home/gregkh/linux/patches/ 2> /dev/null |
+# sed -e 's/\/home\/gregkh\/linux\/patches\///'
+ ) |
+ makemail -to "$AUTHOR" \
+ -from="$FROM" \
+ -cc="$STABLE" \
+ -subject="patch \"$SUBJECT\" failed to apply to $STABLE_VERSION-stable tree" \
+ -date="$(date -R)" \
+ -message_id="$ID" \
+ "$CHARCMD" | \
+ # talk to the suse network instead of localhost (due to the way suse.de now handles email...)
+ #msmtp $to
+# ~/bin/msmtp-enqueue.sh -a suse $to
+ ~/bin/msmtp-enqueue.sh -a coco $to
+}
+
+
+
+for git_id in $*
+do
+ TMPFILE=`mktemp bad_patch.XXXXX` || exit 1
+ git show --pretty=email $git_id > $TMPFILE
+ reply $TMPFILE
+ rm $TMPFILE
+done
+
+#for patch_file in $*
+#do
+# reply $patch_file
+# echo "acknowledged $patch_file"
+# echo "-----------------------------------------------"
+# echo
+#done