From b54ae073f32ff0414b567397769957a4b37263db Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sun, 26 Dec 2021 22:52:25 +0100 Subject: makerelease.pl: automate some more of the announcement. --- dist-tools/makerelease.pl | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/dist-tools/makerelease.pl b/dist-tools/makerelease.pl index 8a648316..818e1db9 100755 --- a/dist-tools/makerelease.pl +++ b/dist-tools/makerelease.pl @@ -128,10 +128,13 @@ print "--- CPUs for make: $ncpu\n"; if ($ncpu < 1) { warn "ncpus unplausible, assuming 2"; $ncpu = 2; } -if (system("cd autobuild && make -j$ncpu " . ($verbose ? '' : '-s') . " check distcheck")) { +if (system("cd autobuild && make -j $ncpu " . ($verbose ? '' : '-s') . " check && make -j $ncpu " . ($verbose ? '' : '-s') . " distcheck")) { die("Compilation failure\n"); } +my $hashes = `cd autobuild && openssl dgst -sha256 $project-$version$xzsufx $project-$version$lzsufx`; +if (!$hashes) { die "openssl dgst failed"; } + open(REPORT, ">$tmp/$project.PREAMBLE.$$"); print REPORT < <$website$project-$version$lzsufx/download> -Here are the release notes: +The detached GnuPG signature is available at: +<$website$project-$version$xzsufx.asc/download> +<$website$project-$version$lzsufx.asc/download> + +The SHA256 hashes for the tarballs are: +$hashes +Here are the release notes: +-------------------------------------------------------------------------------- EOF # Extract the current notes @@ -169,16 +179,14 @@ $oldver =~ tr/-/./; $oldver =~ s/^RELEASE_//; if ($diffs) { - print REPORT "Diffs from the previous ($oldver) release follow as a MIME attachment." -} else { - print REPORT "By popular demand, diffs from the previous release have been omitted." + print REPORT "Diffs from the previous ($oldver) release follow as a MIME attachment.\n"; } -close(NEWS); - -close(REPORT); +close(NEWS) or die $!; +close(REPORT) or die $!; if ($diffs) { + die "sending diffs has not been ported from svn to git yet. Aborting"; if ($tag eq '') { system("svn diff -r$oldtag $errnull >$tmp/$project.DIFFS.$$"); } else { @@ -192,7 +200,8 @@ if ($diffs) { ." -n -D 'diff between $oldver and $version' -m 'text/plain' -e 7bit -f $tmp/$project.DIFFS.$$" ." -o ANNOUNCE.EMAIL"; } else { - system("mv", "$tmp/$project.PREAMBLE.$$", "ANNOUNCE.EMAIL"); + my @cmd = ("mv", "$tmp/$project.PREAMBLE.$$", "ANNOUNCE.EMAIL"); + system (@cmd) == 0 or die "mv @cmd failed: $?"; } #unlink("$tmp/$project.PREAMBLE.$$"); @@ -204,6 +213,7 @@ system("cd autobuild && gpg -ba --sign $project-$version$xzsufx && gpg -ba --sig print "### Extracting release notes...\n"; makerelnotes('NEWS', 'autobuild/README.txt'); +#die "Aborting... in dry-run mode"; print "### Uploading\n"; print "=== local\n"; -- cgit v1.2.3