I've just pushed the following two changes: (copyright- and version-string changes omitted here) The first is a no-brainer: support lzma. The second may require some adaptation.
If you use announce-gen's relatively new --bootstrap-tools=LIST option, you'll probably want to do something similar to the patch included below for coreutils. 2008-01-12 Jim Meyering <[EMAIL PROTECTED]> * build-aux/announce-gen: Also check for lzma-compressed files. 2008-01-12 Jim Meyering <[EMAIL PROTECTED]> announce-gen: emit Gnulib's git-based version string. * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S. New option --gnulib-version=V, where V is expected to be the output of running git describe in the gnulib directory. (get_tool_versions): Request feedback on xdelta. I suspect it's not useful, and plan to stop publishing an xdelta file with each coreutils release. diff --git a/build-aux/announce-gen b/build-aux/announce-gen index cc087d0..1fb60b1 100755 --- a/build-aux/announce-gen +++ b/build-aux/announce-gen @@ -426,9 +426,10 @@ sub get_tool_versions ($$) 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 $xd = "$package_name-$prev_version-$curr_version.xdelta"; - my @tarballs = grep {-f $_} ($tgz, $tbz); + my @tarballs = grep {-f $_} ($tgz, $tbz, $lzma); my @sizable = @tarballs; -f $xd and push @sizable, $xd; diff --git a/build-aux/announce-gen b/build-aux/announce-gen index 1fb60b1..9248876 100755 --- a/build-aux/announce-gen +++ b/build-aux/announce-gen @@ -327,22 +327,17 @@ sub print_changelog_deltas ($$) sub get_tool_versions ($$) { - my ($bootstrap_tools, $gnulib_snapshot_timestamp) = @_; - defined $bootstrap_tools + my ($tool_list, $gnulib_version) = @_; + @$tool_list or return (); - defined $gnulib_snapshot_timestamp - or $gnulib_snapshot_timestamp = strftime '%Y-%m-%d %T UTC', gmtime; - my $fail; - my @tool_list = split ',', $bootstrap_tools; my @tool_version_pair; - foreach my $t (@tool_list) + foreach my $t (@$tool_list) { if ($t eq 'gnulib') { - push @tool_version_pair, - "CVS Gnulib sources from $gnulib_snapshot_timestamp"; + push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version; next; } # Assume that the last "word" on the first line of @@ -381,7 +376,7 @@ sub get_tool_versions ($$) my @url_dir_list; my @news_file; my $bootstrap_tools; - my $gnulib_snapshot_timestamp; + my $gnulib_version; GetOptions ( @@ -393,7 +388,7 @@ sub get_tool_versions ($$) 'url-directory=s' => [EMAIL PROTECTED], 'news=s' => [EMAIL PROTECTED], 'bootstrap-tools=s' => \$bootstrap_tools, - 'gnulib-snapshot-time-stamp=s' => \$gnulib_snapshot_timestamp, + 'gnulib-version=s' => \$gnulib_version, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, @@ -414,6 +409,13 @@ sub get_tool_versions ($$) @url_dir_list or (warn "$ME: 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" + . "--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; @@ -451,7 +453,9 @@ EOF print_locations ("compressed sources", @url_dir_list, %size, @tarballs); -f $xd - and print_locations ("xdelta-style diffs", @url_dir_list, %size, $xd); + and print_locations ("xdelta diffs (useful? if so, " + . "please tell [EMAIL PROTECTED])", + @url_dir_list, %size, $xd); my @sig_files = map { "$_.sig" } @tarballs; print_locations ("GPG detached signatures[*]", @url_dir_list, %size, @sig_files); @@ -475,8 +479,7 @@ then run this command to import it: and rerun the \`gpg --verify' command. EOF - my @tool_versions = get_tool_versions ($bootstrap_tools, - $gnulib_snapshot_timestamp); + my @tool_versions = get_tool_versions ([EMAIL PROTECTED], $gnulib_version); @tool_versions and print "\nThis release was bootstrapped with the following tools:", join ('', map {"\n $_"} @tool_versions), "\n"; -- 1.5.4.rc2.85.g71fd =================================================================== 2008-01-12 Jim Meyering <[EMAIL PROTECTED]> Use new version of announce-gen. * Makefile.maint (announcement): Remove use of the --gnulib-snapshot-time-stamp option. Use new --gnulib-version option instead. (gnulib-version): New variable. diff --git a/Makefile.maint b/Makefile.maint index fe6bee5..fa2ceb6 100644 --- a/Makefile.maint +++ b/Makefile.maint @@ -2,7 +2,7 @@ # This Makefile fragment is shared between the coreutils, # CPPI, Bison, and Autoconf. -## Copyright (C) 2001-2007 Free Software Foundation, Inc. +## Copyright (C) 2001-2008 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 @@ -617,10 +617,15 @@ rel-check: md5sum -c $$md5_tmp < $$tarz prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz + +# FIXME: stop distributing xdelta files in 2008, unless someone speaks up. +# So far, not one person has said they'd miss this. xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta rel-files = $(xd-delta) $(DIST_ARCHIVES) +gnulib-version = $$(cd $(gnulib_dir) && git describe) + # Approximate the date of last gnulib "update" by the ChangeLog file's # mtime, and provide that date in the announcement. announcement: NEWS ChangeLog $(rel-files) @@ -634,7 +639,7 @@ announcement: NEWS ChangeLog $(rel-files) --gpg-key-id=$(gpg_key_ID) \ --news=NEWS \ --bootstrap-tools=autoconf,automake,bison,gnulib \ - --gnulib-snapshot-time-stamp="$$utc_date" \ + --gnulib-version=$(gnulib-version) \ $(addprefix --url-dir=, $(url_dir_list)) ## ---------------- ## -- 1.5.4.rc2.85.g71fd