1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

Simplify running of release.pl --setver.

Previously, it demanded that your checkout was in a state where you
had run autoconf but not configure; so if you previously did have a
Makefile then you had to 'make distclean' to remove it, whereas if you
previously had no generated files at all (e.g. starting from a
completely clean checkout) then you had to run mkfiles.pl and
mkauto.sh to generate 'configure'.

This is obviously confusing, and moreover, the dependence on prior
generated files is fragile and prone to them having been generated
wrong. Adjusted the script so that it uses 'git archive' to get a
clean directory containing only the version-controlled files, and then
runs scripts itself to get that directory into the state it wants.
This commit is contained in:
Simon Tatham 2017-07-03 07:19:07 +01:00
parent 4624115b76
commit ea0ab1c821
2 changed files with 5 additions and 3 deletions

View File

@ -52,7 +52,6 @@ for it:
- Now update the version numbers and the transcripts in the docs, by
checking out the release branch and running
make distclean
./release.pl --version=X.YZ --setver
Then check that the resulting automated git commit has updated the

View File

@ -31,8 +31,11 @@ if ($setver) {
0 == system "git", "diff-files", "--quiet" or die "working tree is dirty";
-f "Makefile" and die "run 'make distclean' first";
my $builddir = tempdir(DIR => ".", CLEANUP => 1);
0 == system "./mkfiles.pl" or die;
0 == system "cd $builddir && ../configure" or die;
0 == system "git archive --format=tar HEAD | ( cd $builddir && tar xf - )"
or die;
0 == system "cd $builddir && ./mkfiles.pl" or die;
0 == system "cd $builddir && ./mkauto.sh" or die;
0 == system "cd $builddir && ./configure" or die;
0 == system "cd $builddir && make pscp plink RELEASE=${version}" or die;
our $pscp_transcript = `cd $builddir && ./pscp --help`;
$pscp_transcript =~ s/^Unidentified build/Release ${version}/m or die;