| #!/bin/bash | |
| # SPDX-License-Identifier: GPL-2.0 | |
| KERNEL_MINOR_VERSION='34' | |
| KERNEL="2.6.$KERNEL_MINOR_VERSION" | |
| EMAIL_ADDRESS='<gregkh@linuxfoundation.org>' | |
| STABLE='<stable@vger.kernel.org>' | |
| STABLE_COMMITS='<stable-commits@vger.kernel.org>' | |
| extract_addr() | |
| { | |
| read l | |
| read l | |
| read l | |
| read l | |
| a=$(echo "$l" | sed -n -e 's/.*<\(.*@[^>]*\).*/\1/p') | |
| echo $a | |
| } | |
| if [ x"$SMTP_SERVER" = x ] | |
| then | |
| SMTP_SERVER=localhost:25 | |
| fi | |
| 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="" | |
| 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 -a -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 -a "Subject:" $PATCH` | |
| SUBJECT=`grep -a "Subject:" $PATCH | sed s/Subject\:\ //` | |
| # SUBJECT=$(head -n 2 $PATCH | tail -n 1) | |
| MESSAGE_ID=`grep -a -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 | |
| # SUBJECT="patch $PATCH added to $KERNEL-stable tree" | |
| 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=\"$SUBJECT\" -date=\"$(date -R)\" -reply_to=$MESSAGE_ID --message=$ID $CHARCMD" | |
| # echo "smtpsend -server=$SMTP_SERVER $to -from=$FROM" | |
| ( | |
| echo | |
| echo "This is a note to let you know that I've just added the patch titled" | |
| echo | |
| echo " $SUBJECT" | |
| echo | |
| echo "to the $KERNEL-stable tree which can be found at:" | |
| echo " https://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary" | |
| echo | |
| echo "The filename of the patch is:" | |
| echo " " `basename "$PATCH"` | |
| echo "and it can be found in the queue-$KERNEL subdirectory." | |
| echo | |
| echo "If you, or anyone else, feels it should not be added to the stable tree," | |
| echo "please let <stable@vger.kernel.org> know about it." | |
| echo | |
| echo | |
| cat $PATCH | |
| echo | |
| echo | |
| echo -n "Patches currently in stable-queue which might be from " | |
| echo "$FIRST_AUTHOR are" | |
| echo | |
| grep -lR $FIRST_AUTHOR /home/gregkh/linux/stable/stable-queue/queue-$KERNEL/ 2> /dev/null | | |
| sed -e 's/\/home\/gregkh\/linux\/stable\/stable-queue\///' | |
| ) | | |
| makemail -to "$AUTHOR" \ | |
| -from="$FROM" \ | |
| -cc="$STABLE, $STABLE_COMMITS" \ | |
| -subject="Patch \"$SUBJECT\" has been added to the $KERNEL-stable tree" \ | |
| -date="$(date -R)" \ | |
| -reply_to="$MESSAGE_ID" \ | |
| -message_id="$ID" \ | |
| "$CHARCMD" \ | |
| | \ | |
| ~/bin/msmtp-enqueue.sh "$to" | |
| # ~/bin/msmtp-enqueue.sh -a coco "$to" | |
| #msmtp $to | |
| } | |
| for patch_file in $* | |
| do | |
| reply $patch_file | |
| echo "acknowledged $patch_file" | |
| echo "-----------------------------------------------" | |
| echo | |
| done |