X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=build-aux%2Fannounce-gen;h=e6be9f81e89858186ad56f54cb63e72d08c56e7a;hb=d4f30512d2396f8550a56510931ed9dba2ccba53;hp=f6affabb7b1e910f4ed9b38a8f70f0e9d9de5c3a;hpb=7d6b0649427017451841dc69f0be307ba2646076;p=gnulib.git diff --git a/build-aux/announce-gen b/build-aux/announce-gen index f6affabb7..e6be9f81e 100755 --- a/build-aux/announce-gen +++ b/build-aux/announce-gen @@ -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-02 07:45'; # UTC +my $VERSION = '2009-10-30 15:59'; # 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,32 +35,8 @@ use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; -my %valid_release_types = map {$_ => 1} qw (alpha beta major); - -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; -} +my %valid_release_types = map {$_ => 1} qw (alpha beta stable); +my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz'); sub usage ($) { @@ -73,11 +51,10 @@ sub usage ($) my @types = sort keys %valid_release_types; print $STREAM < \$bootstrap_tools, 'gnulib-version=s' => \$gnulib_version, 'print-checksums!' => \$print_checksums_p, + 'archive-suffix=s' => \@archive_suffixes, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, @@ -428,16 +407,14 @@ sub get_tool_versions ($$) and usage 1; my $my_distdir = "$package_name-$curr_version"; - my $tgz = "$my_distdir.tar.gz"; - my $tbz = "$my_distdir.tar.bz2"; - my $lzma = "$my_distdir.tar.lzma"; - my $xz = "$my_distdir.tar.xz"; my $xd = "$package_name-$prev_version-$curr_version.xdelta"; - my @tarballs = grep {-f $_} ($tgz, $tbz, $lzma, $xz); + my @candidates = map { "$my_distdir.$_" } @archive_suffixes; + my @tarballs = grep {-f $_} @candidates; + @tarballs - or die "$ME: none of $tgz, $tbz, $lzma or $xz were found\n"; + or die "$ME: none of " . join(', ', @candidates) . " were found\n"; my @sizable = @tarballs; -f $xd and push @sizable, $xd; @@ -449,7 +426,7 @@ sub get_tool_versions ($$) # mail (or part of a diff), Gnus is not triggered. print < @@ -475,7 +452,7 @@ the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: - gpg --verify $tgz.sig + gpg --verify $tarballs[0].sig If that command fails because you don't have the required public key, then run this command to import it: @@ -493,7 +470,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; @@ -501,19 +478,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"