X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=build-aux%2Fannounce-gen;h=ff581fac674d55366b39bda2e7b16371e66ab8f5;hb=e1baaf8d7c7da5c45041f3ecaf227dfd03c01891;hp=4edcf895f108bda4058fb6bdc4e2f761ff616026;hpb=1602f0afed21be664fcf5c42d59db07cc22c56d6;p=gnulib.git diff --git a/build-aux/announce-gen b/build-aux/announce-gen index 4edcf895f..ff581fac6 100755 --- a/build-aux/announce-gen +++ b/build-aux/announce-gen @@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Generate a release announcement message. -my $VERSION = '2011-12-25 18:26'; # UTC +my $VERSION = '2012-05-23 08:55'; # 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 @@ -30,7 +30,8 @@ use strict; use Getopt::Long; use Digest::MD5; -use Digest::SHA1; +eval { require Digest::SHA; } + or eval 'use Digest::SHA1'; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; @@ -44,7 +45,7 @@ sub usage ($) my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { - print $STREAM "Try `$ME --help' for more information.\n"; + print $STREAM "Try '$ME --help' for more information.\n"; } else { @@ -102,13 +103,13 @@ sub sizes (@) my %res; foreach my $f (@file) { - my $cmd = "du --human $f"; + my $cmd = "du -h $f"; my $t = `$cmd`; # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS $@ - and (warn "$ME: command failed: `$cmd'\n"), $fail = 1; + and (warn "command failed: '$cmd'\n"), $fail = 1; chomp $t; - $t =~ s/^([\d.]+[MkK]).*/${1}B/; + $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/; $res{$f} = $t; } return $fail ? undef : %res; @@ -210,7 +211,7 @@ sub print_news_deltas ($$$) else { # This regexp must not match version numbers in NEWS items. - # For example, they might well say `introduced in 4.5.5', + # For example, they might well say "introduced in 4.5.5", # and we don't want that to match. $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o and last; @@ -222,9 +223,9 @@ sub print_news_deltas ($$$) close NEWS; $in_items - or die "$ME: $news_file: no matching lines for `$curr_version'\n"; + or die "$ME: $news_file: no matching lines for '$curr_version'\n"; $found_news - or die "$ME: $news_file: no news item found for `$curr_version'\n"; + or die "$ME: $news_file: no news item found for '$curr_version'\n"; } sub print_changelog_deltas ($$) @@ -269,7 +270,7 @@ sub print_changelog_deltas ($$) # Append any remaining ChangeLog files. push @reordered, sort keys %changelog; - # Remove leading `./'. + # Remove leading './'. @reordered = map { s!^\./!!; $_ } @reordered; print "\nChangeLog entries:\n\n"; @@ -280,11 +281,11 @@ sub print_changelog_deltas ($$) my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; open DIFF, '-|', $cmd - or die "$ME: cannot run `$cmd': $!\n"; + or die "$ME: cannot run '$cmd': $!\n"; # Print two types of lines, making minor changes: - # Lines starting with `+++ ', e.g., + # Lines starting with '+++ ', e.g., # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 - # and those starting with `+'. + # and those starting with '+'. # Don't print the others. my $prev_printed_line_empty = 1; while (defined (my $line = )) @@ -310,7 +311,7 @@ sub print_changelog_deltas ($$) # The exit code should be 1. # Allow in case there are no modified ChangeLog entries. $? == 256 || $? == 128 - or warn "$ME: warning: `$cmd' had unexpected exit code or signal ($?)\n"; + or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n"; } sub get_tool_versions ($$) @@ -329,7 +330,7 @@ sub get_tool_versions ($$) next; } # Assume that the last "word" on the first line of - # `tool --version` output is the version string. + # 'tool --version' output is the version string. my ($first_line, undef) = split ("\n", `$t --version`); if ($first_line =~ /.* (\d[\w.-]+)$/) { @@ -340,7 +341,7 @@ sub get_tool_versions ($$) { defined $first_line and $first_line = ''; - warn "$ME: $t: unexpected --version output\n:$first_line"; + warn "$t: unexpected --version output\n:$first_line"; $fail = 1; } } @@ -368,6 +369,15 @@ sub get_tool_versions ($$) my $gnulib_version; my $print_checksums_p = 1; + # Reformat the warnings before displaying them. + local $SIG{__WARN__} = sub + { + my ($msg) = @_; + # Warnings from GetOptions. + $msg =~ s/Option (\w)/option --$1/; + warn "$ME: $msg"; + }; + GetOptions ( 'mail-headers=s' => \$mail_headers, @@ -388,32 +398,32 @@ sub get_tool_versions ($$) ) or usage 1; my $fail = 0; - # Ensure that sure each required option is specified. + # Ensure that each required option is specified. $release_type - or (warn "$ME: release type not specified\n"), $fail = 1; + or (warn "release type not specified\n"), $fail = 1; $package_name - or (warn "$ME: package name not specified\n"), $fail = 1; + or (warn "package name not specified\n"), $fail = 1; $prev_version - or (warn "$ME: previous version string not specified\n"), $fail = 1; + or (warn "previous version string not specified\n"), $fail = 1; $curr_version - or (warn "$ME: current version string not specified\n"), $fail = 1; + or (warn "current version string not specified\n"), $fail = 1; $gpg_key_id - or (warn "$ME: GnuPG key ID not specified\n"), $fail = 1; + or (warn "GnuPG key ID not specified\n"), $fail = 1; @url_dir_list - or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1; + or (warn "URL directory name(s) not specified\n"), $fail = 1; my @tool_list = split ',', $bootstrap_tools; grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version - and (warn "$ME: when specifying gnulib as a tool, you must also specify\n" + and (warn "when specifying gnulib as a tool, you must also specify\n" . "--gnulib-version=V, where V is the result of running git describe\n" . "in the gnulib source directory.\n"), $fail = 1; exists $valid_release_types{$release_type} - or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1; + or (warn "'$release_type': invalid release type\n"), $fail = 1; @ARGV - and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"), + and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"), $fail = 1; $fail and usage 1; @@ -505,7 +515,7 @@ then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys $gpg_key_id -and rerun the \`gpg --verify' command. +and rerun the 'gpg --verify' command. EOF my @tool_versions = get_tool_versions (\@tool_list, $gnulib_version);