-#!/usr/bin/perl -w
+eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
+ & eval 'exec perl -wS "$0" $argv:q'
+ if 0;
# Generate a release announcement message.
-my $VERSION = '2009-08-22 08:05'; # UTC
+my $VERSION = '2010-05-03 20:17'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2010 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
(my $ME = $0) =~ s|.*/||;
-my %valid_release_types = map {$_ => 1} qw (alpha beta major);
+my %valid_release_types = map {$_ => 1} qw (alpha beta stable);
my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz');
sub usage ($)
my @types = sort keys %valid_release_types;
print $STREAM <<EOF;
Usage: $ME [OPTIONS]
+Generate an announcement message.
OPTIONS:
- Generate an announcement message.
-
These options must be specified:
--release-type=TYPE TYPE must be one of @types
required if gnulib is in TOOL_LIST.
--no-print-checksums do not emit MD5 or SHA1 checksums
--archive-suffix=SUF add SUF to the list of archive suffixes
+ --mail-headers=HEADERS a space-separated list of mail headers, e.g.,
+ To: x\@example.com Cc: y-announce\@example.com,...
--help display this help and exit
--version output version information and exit
# issue "1,2" instead of "1.2", what confuses our regexps.
$ENV{LC_ALL} = "C";
+ my $mail_headers;
my $release_type;
my $package_name;
my $prev_version;
GetOptions
(
+ 'mail-headers=s' => \$mail_headers,
'release-type=s' => \$release_type,
'package-name=s' => \$package_name,
'previous-version=s' => \$prev_version,
%size
or exit 1;
+ my $headers = '';
+ if (defined $mail_headers)
+ {
+ ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g;
+ $headers .= "\n";
+ }
+
# The markup is escaped as <\# so that when this script is sent by
# mail (or part of a diff), Gnus is not triggered.
print <<EOF;
-Subject: $my_distdir released
+${headers}Subject: $my_distdir released [$release_type]
<\#secure method=pgpmime mode=sign>
my @sig_files = map { "$_.sig" } @tarballs;
print_locations ("GPG detached signatures[*]", @url_dir_list, %size,
@sig_files);
+ if ($url_dir_list[0] =~ "gnu\.org")
+ {
+ print "To reduce load on the main server, use a mirror listed at:\n";
+ print " http://www.gnu.org/order/ftp.html\n\n";
+ }
$print_checksums_p
and print_checksums (@sizable);
print_news_deltas ($_, $prev_version, $curr_version)
foreach @news_file;
- $release_type eq 'major'
+ $release_type eq 'stable'
or print_changelog_deltas ($package_name, $prev_version);
exit 0;
### Setup "GNU" style for perl-mode and cperl-mode.
## Local Variables:
+## mode: perl
## perl-indent-level: 2
## perl-continued-statement-offset: 2
## perl-continued-brace-offset: 0
## perl-brace-offset: 0
## perl-brace-imaginary-offset: 0
## perl-label-offset: -2
-## cperl-indent-level: 2
-## cperl-brace-offset: 0
-## cperl-continued-brace-offset: 0
-## cperl-label-offset: -2
-## cperl-extra-newline-before-brace: t
-## cperl-merge-trailing-else: nil
-## cperl-continued-statement-offset: 2
+## perl-extra-newline-before-brace: t
+## perl-merge-trailing-else: nil
## eval: (add-hook 'write-file-hooks 'time-stamp)
## time-stamp-start: "my $VERSION = '"
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"