| #!/bin/bash |
| |
| 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 -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 |
| |
| # 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 -a coco "$to" |
| #msmtp $to |
| } |
| |
| for patch_file in $* |
| do |
| reply $patch_file |
| echo "acknowledged $patch_file" |
| echo "-----------------------------------------------" |
| echo |
| done |