5 die "$0: must be run from top-level directory.\n"
6 unless -r
"configure.ac" && -r
'ChangeLog';
8 my $newversion = $ARGV[0];
9 die "$0: you must supply the new version as argument.\n"
12 my $email = $ENV{'EMAIL'};
13 die "$0: you must define \$EMAIL.\n"
14 unless defined $email;
16 my $name = $ENV{'NAME'};
17 die "$0: you must define \$NAME.\n"
20 my ($y,$m,$d) = (localtime (time))[5,4,3];
23 my $date = sprintf ("%04d-%02d-%02d", $y, $m, $d);
25 my $entry = "$date $name <$email>\n\n\t* Release $newversion\n\n";
27 # -----------------------------------------------------------------------------
28 # These are shared directories.
29 my %exceptions = ('macros' => 1, 'intl' => 1);
31 my $clogstxt = `find . -name ChangeLog -print`;
33 my @clogs = split ("\n", $clogstxt);
35 foreach my $filename (sort @clogs) {
37 $dir =~ s
|/ChangeLog
$||;
40 if ($exceptions{$dir} || $fulldir =~ m{/tools/win32/}) {
41 print "Skipping $filename\n";
47 print "Updating $filename...\n";
49 open (*SRC
, "<$filename") || die "$0: failed to read $filename: $!\n";
50 open (*DST
, ">$filename.tmp") || die "$0: failed to write $filename.tmp: $!\n";
52 foreach (<SRC
>) { print DST
; }
56 rename ("$filename.tmp", $filename);