test-dup2: avoid compiler warning
[gnulib.git] / build-aux / announce-gen
index e5e7491..5fbb9cd 100755 (executable)
@@ -1,7 +1,9 @@
-#!/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-03-05 09:52'; # UTC
+my $VERSION = '2009-11-20 13:36'; # 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
@@ -33,34 +35,9 @@ use POSIX qw(strftime);
 
 (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');
 
-END
-{
-  # Nobody ever checks the status of print()s.  That's okay, because
-  # if any do fail, we're guaranteed to get an indicator when we close()
-  # the filehandle.
-  #
-  # Close stdout now, and if there were no errors, return happy status.
-  # If stdout has already been closed by the script, though, do nothing.
-  defined fileno STDOUT
-    or return;
-  close STDOUT
-    and return;
-
-  # Errors closing stdout.  Indicate that, and hope stderr is OK.
-  warn "$ME: closing standard output: $!\n";
-
-  # Don't be so arrogant as to assume that we're the first END handler
-  # defined, and thus the last one invoked.  There may be others yet
-  # to come.  $? will be passed on to them, and to the final _exit().
-  #
-  # If it isn't already an error, make it one (and if it _is_ an error,
-  # preserve the value: it might be important).
-  $? ||= 1;
-}
-
 sub usage ($)
 {
   my ($exit_code) = @_;
@@ -74,11 +51,10 @@ 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
@@ -450,7 +426,7 @@ sub get_tool_versions ($$)
   # mail (or part of a diff), Gnus is not triggered.
   print <<EOF;
 
-Subject: $my_distdir released
+Subject: $my_distdir released [$release_type]
 
 <\#secure method=pgpmime mode=sign>
 
@@ -466,6 +442,11 @@ EOF
   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);
@@ -494,7 +475,7 @@ EOF
   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;
@@ -502,19 +483,15 @@ EOF
 
 ### 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"