Mercurial > hg > octave-lojdl > gnulib-hg
annotate build-aux/announce-gen @ 7716:f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
--bootstrap-tools=TOOL_LIST
a comma-separated list of tools, e.g.,
autoconf,automake,bison,gnulib
--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.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Fri, 08 Dec 2006 09:28:23 +0000 |
parents | 89b16a28419e |
children | 605d4ddb5673 |
rev | line source |
---|---|
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
1 #!/usr/bin/perl -w |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
2 # Generate a release announcement message. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
3 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
4 # Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
5 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
6 # This program is free software; you can redistribute it and/or modify |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
7 # it under the terms of the GNU General Public License as published by |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
8 # the Free Software Foundation; either version 2, or (at your option) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
9 # any later version. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
10 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
11 # This program is distributed in the hope that it will be useful, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
14 # GNU General Public License for more details. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
15 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
16 # You should have received a copy of the GNU General Public License |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
17 # along with this program; if not, write to the Free Software Foundation, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
18 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
19 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
20 # Written by Jim Meyering |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
21 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
22 use strict; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
23 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
24 use Getopt::Long; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
25 use Digest::MD5; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
26 use Digest::SHA1; |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
27 use POSIX qw(strftime); |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
28 |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
29 (my $VERSION = '$Revision: 1.2 $ ') =~ tr/[0-9].//cd; |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
30 (my $ME = $0) =~ s|.*/||; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
31 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
32 my %valid_release_types = map {$_ => 1} qw (alpha beta major); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
33 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
34 END |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
35 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
36 # Nobody ever checks the status of print()s. That's okay, because |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
37 # if any do fail, we're guaranteed to get an indicator when we close() |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
38 # the filehandle. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
39 # |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
40 # Close stdout now, and if there were no errors, return happy status. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
41 # If stdout has already been closed by the script, though, do nothing. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
42 defined fileno STDOUT |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
43 or return; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
44 close STDOUT |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
45 and return; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
46 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
47 # Errors closing stdout. Indicate that, and hope stderr is OK. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
48 warn "$ME: closing standard output: $!\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
49 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
50 # Don't be so arrogant as to assume that we're the first END handler |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
51 # defined, and thus the last one invoked. There may be others yet |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
52 # to come. $? will be passed on to them, and to the final _exit(). |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
53 # |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
54 # If it isn't already an error, make it one (and if it _is_ an error, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
55 # preserve the value: it might be important). |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
56 $? ||= 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
57 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
58 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
59 sub usage ($) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
60 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
61 my ($exit_code) = @_; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
62 my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
63 if ($exit_code != 0) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
64 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
65 print $STREAM "Try `$ME --help' for more information.\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
66 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
67 else |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
68 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
69 my @types = sort keys %valid_release_types; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
70 print $STREAM <<EOF; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
71 Usage: $ME [OPTIONS] |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
72 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
73 OPTIONS: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
74 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
75 Generate an announcement message. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
76 |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
77 These options must be specified: |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
78 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
79 --release-type=TYPE TYPE must be one of @types |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
80 --package-name=PACKAGE_NAME |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
81 --previous-version=VER |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
82 --current-version=VER |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
83 --gpg-key-id=ID The GnuPG ID of the key used to sign the tarballs |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
84 --url-directory=URL_DIR |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
85 |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
86 The following are optional: |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
87 |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
88 --news=NEWS_FILE |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
89 --bootstrap-tools=TOOL_LIST a comma-separated list of tools, e.g., |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
90 autoconf,automake,bison,gnulib |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
91 --gnulib-snapshot-date=DATE if gnulib is in the bootstrap tool list, |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
92 then report this as the snapshot date. |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
93 If not specified, use the current date/time. |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
94 If you specify a date here, be sure it's UTC. |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
95 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
96 --help display this help and exit |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
97 --version output version information and exit |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
98 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
99 EOF |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
100 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
101 exit $exit_code; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
102 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
103 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
104 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
105 =item C<%size> = C<sizes (@file)> |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
106 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
107 Compute the sizes of the C<@file> and return them as a hash. Return |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
108 C<undef> if one of the computation failed. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
109 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
110 =cut |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
111 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
112 sub sizes (@) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
113 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
114 my (@file) = @_; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
115 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
116 my $fail = 0; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
117 my %res; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
118 foreach my $f (@file) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
119 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
120 my $cmd = "du --human $f"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
121 my $t = `$cmd`; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
122 # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
123 $@ |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
124 and (warn "$ME: command failed: `$cmd'\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
125 chomp $t; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
126 $t =~ s/^([\d.]+[MkK]).*/${1}B/; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
127 $res{$f} = $t; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
128 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
129 return $fail ? undef : %res; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
130 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
131 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
132 =item C<print_locations ($title, \@url, \%size, @file) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
133 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
134 Print a section C<$title> dedicated to the list of <@file>, which |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
135 sizes are stored in C<%size>, and which are available from the C<@url>. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
136 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
137 =cut |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
138 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
139 sub print_locations ($\@\%@) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
140 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
141 my ($title, $url, $size, @file) = @_; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
142 print "Here are the $title:\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
143 foreach my $url (@{$url}) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
144 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
145 for my $file (@file) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
146 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
147 print " $url/$file"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
148 print " (", $$size{$file}, ")" |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
149 if exists $$size{$file}; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
150 print "\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
151 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
152 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
153 print "\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
154 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
155 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
156 =item C<print_checksums (@file) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
157 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
158 Print the MD5 and SHA1 signature section for each C<@file>. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
159 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
160 =cut |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
161 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
162 sub print_checksums (@) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
163 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
164 my (@file) = @_; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
165 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
166 print "Here are the MD5 and SHA1 checksums:\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
167 print "\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
168 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
169 foreach my $meth (qw (md5 sha1)) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
170 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
171 foreach my $f (@file) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
172 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
173 open IN, '<', $f |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
174 or die "$ME: $f: cannot open for reading: $!\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
175 binmode IN; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
176 my $dig = |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
177 ($meth eq 'md5' |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
178 ? Digest::MD5->new->addfile(*IN)->hexdigest |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
179 : Digest::SHA1->new->addfile(*IN)->hexdigest); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
180 close IN; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
181 print "$dig $f\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
182 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
183 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
184 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
185 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
186 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
187 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
188 =item C<print_news_deltas ($news_file, $prev_version, $curr_version) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
189 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
190 Print the section of the NEWS file C<$news_file> addressing changes |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
191 between versions C<$prev_version> and C<$curr_version>. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
192 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
193 =cut |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
194 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
195 sub print_news_deltas ($$$) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
196 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
197 my ($news_file, $prev_version, $curr_version) = @_; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
198 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
199 print "\n$news_file\n\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
200 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
201 # Print all lines from $news_file, starting with the first one |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
202 # that mentions $curr_version up to but not including |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
203 # the first occurrence of $prev_version. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
204 my $in_items; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
205 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
206 my $re_prefix = qr/\* (?:Noteworthy|Major) change/; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
207 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
208 open NEWS, '<', $news_file |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
209 or die "$ME: $news_file: cannot open for reading: $!\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
210 while (defined (my $line = <NEWS>)) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
211 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
212 if ( ! $in_items) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
213 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
214 # Match lines like these: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
215 # * Major changes in release 5.0.1: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
216 # * Noteworthy changes in release 6.6 (2006-11-22) [stable] |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
217 $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
218 or next; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
219 $in_items = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
220 print $line; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
221 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
222 else |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
223 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
224 # This regexp must not match version numbers in NEWS items. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
225 # For example, they might well say `introduced in 4.5.5', |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
226 # and we don't want that to match. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
227 $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
228 and last; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
229 print $line; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
230 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
231 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
232 close NEWS; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
233 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
234 $in_items |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
235 or die "$ME: $news_file: no matching lines for `$curr_version'\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
236 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
237 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
238 sub print_changelog_deltas ($$) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
239 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
240 my ($package_name, $prev_version) = @_; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
241 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
242 # Print new ChangeLog entries. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
243 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
244 # First find all CVS-controlled ChangeLog files. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
245 use File::Find; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
246 my @changelog; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
247 find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS' |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
248 and push @changelog, $File::Find::name}}, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
249 '.'); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
250 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
251 # If there are no ChangeLog files, we're done. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
252 @changelog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
253 or return; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
254 my %changelog = map {$_ => 1} @changelog; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
255 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
256 # Reorder the list of files so that if there are ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
257 # files in the specified directories, they're listed first, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
258 # in this order: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
259 my @dir = qw ( . src lib m4 config doc ); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
260 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
261 # A typical @changelog array might look like this: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
262 # ./ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
263 # ./po/ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
264 # ./m4/ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
265 # ./lib/ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
266 # ./doc/ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
267 # ./config/ChangeLog |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
268 my @reordered; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
269 foreach my $d (@dir) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
270 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
271 my $dot_slash = $d eq '.' ? $d : "./$d"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
272 my $target = "$dot_slash/ChangeLog"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
273 delete $changelog{$target} |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
274 and push @reordered, $target; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
275 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
276 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
277 # Append any remaining ChangeLog files. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
278 push @reordered, sort keys %changelog; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
279 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
280 # Remove leading `./'. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
281 @reordered = map { s!^\./!!; $_ } @reordered; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
282 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
283 print "\nChangeLog entries:\n\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
284 # print join ("\n", @reordered), "\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
285 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
286 $prev_version =~ s/\./_/g; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
287 my $prev_cvs_tag = "\U$package_name\E-$prev_version"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
288 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
289 my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
290 open DIFF, '-|', $cmd |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
291 or die "$ME: cannot run `$cmd': $!\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
292 # Print two types of lines, making minor changes: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
293 # Lines starting with `+++ ', e.g., |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
294 # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
295 # and those starting with `+'. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
296 # Don't print the others. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
297 my $prev_printed_line_empty = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
298 while (defined (my $line = <DIFF>)) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
299 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
300 if ($line =~ /^\+\+\+ /) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
301 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
302 my $separator = "*"x70 ."\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
303 $line =~ s///; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
304 $line =~ s/\s.*//; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
305 $prev_printed_line_empty |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
306 or print "\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
307 print $separator, $line, $separator; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
308 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
309 elsif ($line =~ /^\+/) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
310 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
311 $line =~ s///; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
312 print $line; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
313 $prev_printed_line_empty = ($line =~ /^$/); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
314 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
315 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
316 close DIFF; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
317 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
318 # The exit code should be 1. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
319 # Allow in case there are no modified ChangeLog entries. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
320 $? == 256 || $? == 128 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
321 or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
322 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
323 |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
324 sub get_tool_versions ($$) |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
325 { |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
326 my ($bootstrap_tools, $gnulib_snapshot_timestamp) = @_; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
327 defined $bootstrap_tools |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
328 or return (); |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
329 |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
330 defined $gnulib_snapshot_timestamp |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
331 or $gnulib_snapshot_timestamp = strftime '%Y-%m-%d %T UTC', gmtime; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
332 |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
333 my $fail; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
334 my @tool_list = split ',', $bootstrap_tools; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
335 my @tool_version_pair; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
336 foreach my $t (@tool_list) |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
337 { |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
338 if ($t eq 'gnulib') |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
339 { |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
340 push @tool_version_pair, |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
341 "CVS Gnulib sources from $gnulib_snapshot_timestamp"; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
342 next; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
343 } |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
344 # Assume that the last "word" on the first line of |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
345 # `tool --version` output is the version string. |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
346 my ($first_line, undef) = split ("\n", `$t --version`); |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
347 if ($first_line =~ /.* (\d[\w.-]+)$/) |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
348 { |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
349 $t = ucfirst $t; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
350 push @tool_version_pair, "$t $1"; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
351 } |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
352 else |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
353 { |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
354 defined $first_line |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
355 and $first_line = ''; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
356 warn "$ME: $t: unexpected --version output\n:$first_line"; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
357 $fail = 1; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
358 } |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
359 } |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
360 |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
361 $fail |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
362 and exit 1; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
363 |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
364 return @tool_version_pair; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
365 } |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
366 |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
367 { |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
368 # Neutralize the locale, so that, for instance, "du" does not |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
369 # issue "1,2" instead of "1.2", what confuses our regexps. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
370 $ENV{LC_ALL} = "C"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
371 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
372 my $release_type; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
373 my $package_name; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
374 my $prev_version; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
375 my $curr_version; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
376 my $gpg_key_id; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
377 my @url_dir_list; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
378 my @news_file; |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
379 my $bootstrap_tools; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
380 my $gnulib_snapshot_timestamp; |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
381 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
382 GetOptions |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
383 ( |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
384 'release-type=s' => \$release_type, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
385 'package-name=s' => \$package_name, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
386 'previous-version=s' => \$prev_version, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
387 'current-version=s' => \$curr_version, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
388 'gpg-key-id=s' => \$gpg_key_id, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
389 'url-directory=s' => \@url_dir_list, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
390 'news=s' => \@news_file, |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
391 'bootstrap-tools=s' => \$bootstrap_tools, |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
392 'gnulib-snapshot-time-stamp=s' => \$gnulib_snapshot_timestamp, |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
393 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
394 help => sub { usage 0 }, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
395 version => sub { print "$ME version $VERSION\n"; exit }, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
396 ) or usage 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
397 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
398 my $fail = 0; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
399 # Ensure that sure each required option is specified. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
400 $release_type |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
401 or (warn "$ME: release type not specified\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
402 $package_name |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
403 or (warn "$ME: package name not specified\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
404 $prev_version |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
405 or (warn "$ME: previous version string not specified\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
406 $curr_version |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
407 or (warn "$ME: current version string not specified\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
408 $gpg_key_id |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
409 or (warn "$ME: GnuPG key ID not specified\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
410 @url_dir_list |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
411 or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
412 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
413 exists $valid_release_types{$release_type} |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
414 or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
415 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
416 @ARGV |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
417 and (warn "$ME: too many arguments\n"), $fail = 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
418 $fail |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
419 and usage 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
420 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
421 my $my_distdir = "$package_name-$curr_version"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
422 my $tgz = "$my_distdir.tar.gz"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
423 my $tbz = "$my_distdir.tar.bz2"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
424 my $xd = "$package_name-$prev_version-$curr_version.xdelta"; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
425 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
426 my %size = sizes ($tgz, $tbz, $xd); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
427 %size |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
428 or exit 1; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
429 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
430 # The markup is escaped as <\# so that when this script is sent by |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
431 # mail (or part of a diff), Gnus is not triggered. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
432 print <<EOF; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
433 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
434 Subject: $my_distdir released |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
435 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
436 <\#secure method=pgpmime mode=sign> |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
437 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
438 FIXME: put comments here |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
439 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
440 EOF |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
441 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
442 print_locations ("compressed sources", @url_dir_list, %size, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
443 $tgz, $tbz); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
444 print_locations ("xdelta-style diffs", @url_dir_list, %size, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
445 $xd); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
446 print_locations ("GPG detached signatures[*]", @url_dir_list, %size, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
447 "$tgz.sig", "$tbz.sig"); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
448 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
449 print_checksums ($tgz, $tbz, $xd); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
450 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
451 print <<EOF; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
452 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
453 [*] You can use either of the above signature files to verify that |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
454 the corresponding file (without the .sig suffix) is intact. First, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
455 be sure to download both the .sig file and the corresponding tarball. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
456 Then, run a command like this: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
457 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
458 gpg --verify $tgz.sig |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
459 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
460 If that command fails because you don't have the required public key, |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
461 then run this command to import it: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
462 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
463 gpg --keyserver wwwkeys.pgp.net --recv-keys $gpg_key_id |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
464 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
465 and rerun the \`gpg --verify' command. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
466 EOF |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
467 |
7716
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
468 my @tool_versions = get_tool_versions ($bootstrap_tools, |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
469 $gnulib_snapshot_timestamp); |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
470 @tool_versions |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
471 and print "\nThis release was bootstrapped with the following tools:", |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
472 join ('', map {"\n $_"} @tool_versions), "\n"; |
f2d3357d1ce7
* build-aux/announce-gen: Add two new options, both optional:
Jim Meyering <jim@meyering.net>
parents:
7685
diff
changeset
|
473 |
7685
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
474 print_news_deltas ($_, $prev_version, $curr_version) |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
475 foreach @news_file; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
476 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
477 $release_type eq 'major' |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
478 or print_changelog_deltas ($package_name, $prev_version); |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
479 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
480 exit 0; |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
481 } |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
482 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
483 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
484 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
485 ### Setup "GNU" style for perl-mode and cperl-mode. |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
486 ## Local Variables: |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
487 ## perl-indent-level: 2 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
488 ## perl-continued-statement-offset: 2 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
489 ## perl-continued-brace-offset: 0 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
490 ## perl-brace-offset: 0 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
491 ## perl-brace-imaginary-offset: 0 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
492 ## perl-label-offset: -2 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
493 ## cperl-indent-level: 2 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
494 ## cperl-brace-offset: 0 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
495 ## cperl-continued-brace-offset: 0 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
496 ## cperl-label-offset: -2 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
497 ## cperl-extra-newline-before-brace: t |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
498 ## cperl-merge-trailing-else: nil |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
499 ## cperl-continued-statement-offset: 2 |
89b16a28419e
* build-aux/announce-gen: New file. From coreutils.
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
500 ## End: |