autoupdate
[gnulib.git] / build-aux / announce-gen
index 751ece0..5eccbac 100755 (executable)
@@ -1,7 +1,13 @@
 #!/usr/bin/perl -w
 # Generate a release announcement message.
 
-# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+my $VERSION = '2007-02-25 16:41'; # 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-2007 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
@@ -26,7 +32,6 @@ use Digest::MD5;
 use Digest::SHA1;
 use POSIX qw(strftime);
 
-(my $VERSION = '$Revision: 1.2 $ ') =~ tr/[0-9].//cd;
 (my $ME = $0) =~ s|.*/||;
 
 my %valid_release_types = map {$_ => 1} qw (alpha beta major);
@@ -91,7 +96,7 @@ The following are optional:
    --gnulib-snapshot-date=DATE  if gnulib is in the bootstrap tool list,
                                 then report this as the snapshot date.
                                 If not specified, use the current date/time.
-                                If you specify a date here, be sure it's UTC.
+                                If you specify a date here, be sure it is UTC.
 
    --help             display this help and exit
    --version          output version information and exit
@@ -414,7 +419,8 @@ sub get_tool_versions ($$)
     or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
 
   @ARGV
-    and (warn "$ME: too many arguments\n"), $fail = 1;
+    and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"),
+      $fail = 1;
   $fail
     and usage 1;
 
@@ -423,7 +429,11 @@ sub get_tool_versions ($$)
   my $tbz = "$my_distdir.tar.bz2";
   my $xd = "$package_name-$prev_version-$curr_version.xdelta";
 
-  my %size = sizes ($tgz, $tbz, $xd);
+  my @tarballs = grep {-f $_} ($tgz, $tbz);
+  my @sizable = @tarballs;
+  -f $xd
+    and push @sizable, $xd;
+  my %size = sizes (@sizable);
   %size
     or exit 1;
 
@@ -439,14 +449,14 @@ FIXME: put comments here
 
 EOF
 
-  print_locations ("compressed sources", @url_dir_list, %size,
-                  $tgz, $tbz);
-  print_locations ("xdelta-style diffs", @url_dir_list, %size,
-                  $xd);
+  print_locations ("compressed sources", @url_dir_list, %size, @tarballs);
+  -f $xd
+    and print_locations ("xdelta-style diffs", @url_dir_list, %size, $xd);
+  my @sig_files = map { "$_.sig" } @tarballs;
   print_locations ("GPG detached signatures[*]", @url_dir_list, %size,
-                  "$tgz.sig", "$tbz.sig");
+                  @sig_files);
 
-  print_checksums ($tgz, $tbz, $xd);
+  print_checksums (@sizable);
 
   print <<EOF;
 
@@ -480,8 +490,6 @@ EOF
   exit 0;
 }
 
-
-
 ### Setup "GNU" style for perl-mode and cperl-mode.
 ## Local Variables:
 ## perl-indent-level: 2
@@ -497,4 +505,9 @@ EOF
 ## cperl-extra-newline-before-brace: t
 ## cperl-merge-trailing-else: nil
 ## cperl-continued-statement-offset: 2
+## eval: (add-hook 'write-file-hooks 'time-stamp)
+## time-stamp-start: "my $VERSION = '"
+## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
+## time-stamp-time-zone: "UTC"
+## time-stamp-end: "'; # UTC"
 ## End: