aboutsummaryrefslogtreecommitdiffstats
path: root/dist-tools/makerelease.pl
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2021-12-26 22:52:25 +0100
committerMatthias Andree <matthias.andree@gmx.de>2021-12-26 22:52:25 +0100
commitb54ae073f32ff0414b567397769957a4b37263db (patch)
tree47ff59d6ad632eebc92fe39e28866795b37d2c12 /dist-tools/makerelease.pl
parent2fbd2faa797457ef31be5fc16ea27930ad49f433 (diff)
downloadfetchmail-b54ae073f32ff0414b567397769957a4b37263db.tar.gz
fetchmail-b54ae073f32ff0414b567397769957a4b37263db.tar.bz2
fetchmail-b54ae073f32ff0414b567397769957a4b37263db.zip
makerelease.pl: automate some more of the announcement.
Diffstat (limited to 'dist-tools/makerelease.pl')
-rwxr-xr-xdist-tools/makerelease.pl28
1 files 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 <<EOF;
@@ -145,8 +148,15 @@ The source archive is available at:
<$website$project-$version$xzsufx/download>
<$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 '<workfile>') {
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";