Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: e1cc4959c1
Fetching contributors…

Cannot retrieve contributors at this time

executable file 192 lines (171 sloc) 4.531 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
#!/bin/bash

KERNEL=$1
shift
echo "VERSION=$KERNEL"

#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 " http://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
Something went wrong with that request. Please try again.