| #!/usr/bin/perl | |
| use strict; | |
| use warnings; | |
| use File::Basename; | |
| use lib File::Basename::dirname($0); | |
| use LinuxStableQueue qw($MAIL_FROM $MAIL_ANNOUNCE_TO $MAIL_ANNOUNCE_CC | |
| base_version last_update common_mail_header | |
| mime_entity_to_mbox); | |
| use FileHandle; | |
| use MIME::Entity; | |
| my $FULL_VERSION = `make kernelversion`; | |
| chomp $FULL_VERSION; | |
| my $BASE_VERSION = base_version($FULL_VERSION); | |
| my $LAST_VERSION = last_update($FULL_VERSION); | |
| my $mbox = "linux-$FULL_VERSION-announce.mbox"; | |
| print "Creating $mbox\n"; | |
| my $announce = MIME::Entity->build(From => $MAIL_FROM, | |
| To => $MAIL_ANNOUNCE_TO, | |
| Cc => $MAIL_ANNOUNCE_CC, | |
| common_mail_header(), | |
| Subject => "Linux $FULL_VERSION", | |
| Type => 'multipart/mixed', | |
| Encoding => '8bit'); | |
| my $body = $announce->attach(Type => 'text/plain', | |
| Charset => 'UTF-8', | |
| Encoding => '8bit', | |
| Data => ''); | |
| my $body_fh = $body->open('w'); | |
| print $body_fh | |
| "I'm announcing the release of the $FULL_VERSION kernel. | |
| All users of the $BASE_VERSION kernel series should upgrade. | |
| The updated $BASE_VERSION.y git tree can be found at: | |
| https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-$BASE_VERSION.y | |
| and can be browsed at the normal kernel.org git web browser: | |
| https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git | |
| The diff from $LAST_VERSION is attached to this message. | |
| Ben. | |
| ------------ | |
| "; | |
| print $body_fh `git diff --stat v$LAST_VERSION..v$FULL_VERSION`; | |
| print $body_fh "\n"; | |
| print $body_fh `git shortlog v$LAST_VERSION..v$FULL_VERSION`; | |
| close $body_fh; | |
| my $diff = $announce->attach(Type => 'text/x-diff', | |
| Charset => 'UTF-8', | |
| Encoding => '8bit', | |
| Disposition => 'attachment', | |
| Filename => "linux-$FULL_VERSION.patch", | |
| Data => ''); | |
| my $diff_fh = $diff->open('w'); | |
| print $diff_fh `git diff v$LAST_VERSION..v$FULL_VERSION`; | |
| close $diff_fh; | |
| my $mbox_fh = new FileHandle($mbox, 'w'); | |
| mime_entity_to_mbox($announce, $mbox_fh); | |
| close $mbox_fh; |