Граф коммитов

64 Коммитов

Автор SHA1 Сообщение Дата
Simon Tatham 5cac6013b7 Rework the release checklist for current practice.
In recent releases we've taken to making the actual release build (or
rather, candidates for it) ahead of time so that we can do some
slightly more thorough last-minute testing of the exact binaries that
we're going to release to everyone. It's time I actually wrote that
procedure down in the checklist, so that I remember what it is.

In particular, we had the idea that we should not properly GPG-sign
the release until the last moment, and use the presence of a set of
full GPG signatures as a means of distinguishing the real release
build from an RC that accidentally got out into the wild somehow. This
checklist update formalises that too, and documents the method I used
of ensuring the binaries weren't tampered with between RC building and
release signing (by making a signature on just the sha512sums). I also
include in this commit an extra command-line option to sign.sh to make
that preliminary signature step more convenient.
2017-07-03 07:45:40 +01:00
Simon Tatham ea0ab1c821 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.
2017-07-03 07:28:45 +01:00
Simon Tatham d6d10932ac Release checklist update: no @releases array!
The rewritten bugs2html.py in the wishlist repository no longer needs
me to manually maintain a mapping between releases and version control
- and the one thing I forgot was to remove the reminder in the release
checklist telling me to keep that mapping up to date :-)
2017-04-29 10:23:31 +01:00
Simon Tatham 48a8853bde One more CHECKLST update: mirrors have no .htaccess.
Our recommended package for website mirrors doesn't need one any more,
because its latest.html links already point directly to the numbered
release subdirectory. Hence, remove the release-checklist instruction
to check the mirror package's .htaccess, and replace it with an
instruction to check the links in latest.html instead.
2017-02-21 19:00:49 +00:00
Simon Tatham 0415af2ee7 Release-procedure stuff: remove outdated hostname 'atreus'.
The main tartarus.org host has changed since the last release, so we
now have to upload things to somewhere different. Updated the release
automation in release.pl, and all the mentions of atreus in the manual
checklist too.
2017-02-21 18:42:42 +00:00
Simon Tatham 1c1419bfce Release checklist updates.
These reflect the fact that I'm increasingly preferring to make a
release-candidate build a few days in advance of the actual release,
and give the team time to do a bit of testing on it before putting it
up on the live website. Hence, I can't _quite_ fill in everything in
the website announcement ahead of time - the release date has to wait
until we know what it is, which means I need to have 'now fill in the
release date' as part of the go-live checklist.

Also, I've provided a better bob command for doing a release build
(putting it somewhere safe to begin with, rather than leaving it
precariously in my normal build directory). And while I'm here, I've
standardised all my placeholder version numbers to X.YZ; previously
half of them said 0.XX :-)
2017-02-18 17:09:38 +00:00
Simon Tatham 2c07c641a0 Checklist updates from the website revamp.
I've now made a new section about how to turn on pre-release mode,
because although it's been carefully made trivial within the website
repo itself, there are still several things in other places I need to
edit.

Also added a note to myself to turn off nightly pre-release builds
after the release has gone out. I found on a previous occasion that my
build machine had been building them for months after they were
needed, which was harmless to the website but a waste of CPU!
2017-01-21 15:06:46 +00:00
Simon Tatham 774d37a0dc Autogenerate licence text in doc subdir from LICENCE.
Now we have licence.pl, it seems to me to make very good sense to have
it generate the Halibut form(s) of the licence and copyright year as
well as the source-code forms.

As a result, I believe _no_ copies of the licence text or copyright
date exist any more except for the master one in LICENCE - so I can
completely remove the checklist section about all the places to update
it, because there's only one. Hooray!
2015-12-22 13:33:42 +00:00
Simon Tatham 9ddd071ec2 Stop copying the licence text into C source code.
Now all the uses of the licence text or the short copyright notice get
it from a new header "licence.h", which in turn is built by a Perl
script licence.pl invoked by mkfiles.pl, using LICENCE itself as the
source.

Hence, I can completely remove a whole section from the list of
licence locations in CHECKLST.txt :-)
2015-12-22 13:33:42 +00:00
Simon Tatham 2eb952ca31 Use readonly edit controls in some Windows dialogs.
This makes the About and Licence boxes copy-and-pasteable, similarly
to what I've just done on Unix.

(But unlike on the Unix side, here I haven't touched the host key
prompt dialog, because that's a standard Windows MessageBox and not
easy to mess around with. Plus, in any case, you can already hit ^C to
copy the whole text out of a MessageBox. Same goes for the PGP
fingerprints dialog.)

As a side effect, several copies of the copyright notice and licence
text have moved from .rc files into C source. I've updated
CHECKLST.txt, but they won't stay there for long.
2015-12-22 13:32:39 +00:00
Simon Tatham 3e811b3dff Big revision to CHECKLST.txt for release.pl and Mason.
Half the release checklist has changed recently, what with me
completely reworking the website and also writing all this release
automation. I think these are all the checklist changes needed now the
dust has settled, though of course when I do the next actual release I
expect there'll turn out to be something I missed...
2015-11-12 19:11:07 +00:00
Simon Tatham f3230c8545 More post-release checklist updates, and a new script.
I've added a few sample shell commands in the upload procedure (mostly
so that I don't have to faff about remembering how rsync trailing
slashes work every time), and also written a script called
'release.pl', which automates the updating of the version number in
all the various places it needs to be done and also ensures the PSCP
and Plink transcripts in the docs will match the release itself.
2015-11-07 16:14:28 +00:00
Simon Tatham 3552f37ba5 One small post-release checklist tweak.
I spotted that I've been checking that old-style Windows Help files
were delivered with content-type "application/octet-stream", but not
also checking the same thing about the marginally newer .CHM ones. (Or
at least not writing it down in the wishlist; I think I did actually
check on at least one occasion.)
2015-11-07 15:15:07 +00:00
Simon Tatham 503061e569 Post-0.66 release checklist updates.
The one-off reminder to finish the key rollover is now done, so I can
remove it.
2015-11-07 10:12:00 +00:00
Simon Tatham 7524da621b Key rollover: add a checklist item for the Download page.
Next time I do a release, I'll have to remember to adjust the download
page links to the GPG signature files.
2015-09-02 18:50:49 +01:00
Simon Tatham 11eb75a260 Key rollover: switch to signing using the new keys.
sign.sh's command-line syntax has changed, so I've updated the sample
command line in CHECKLST as well. Also the file extensions of the
signatures have changed, so I've updated the pre-release verification
command line in CHECKLST too.
2015-09-02 18:50:49 +01:00
Simon Tatham 9bea08a298 Post-0.65 release checklist updates.
The -F option is no longer needed to bob in this situation; that
hasn't been the directory I keep release announcements in for a long
time; the Docs page needs adjusting for pre-release retirement as well
as the Downloads page.
2015-07-25 11:28:32 +01:00
Simon Tatham 45e89ed7ca Add a new checklist item.
I managed to build from completely the wrong commit this morning, so
make sure to double-check next time!
2015-02-28 15:47:45 +00:00
Simon Tatham ac27a14689 Typo. 2015-02-28 13:10:55 +00:00
Simon Tatham 8af53d1b69 Reorganise the release checklist.
Mostly I'm rearranging things because of the new workflows that git
makes available - it's now possible (and indeed sensible) to prepare a
lot of stuff in a fairly relaxed manner in local checkouts, and then
the process of going live with the release has a lot less manual
writing of stuff and a lot more mechanical 'git push' and running of
update scripts.

However, there's one new item that was actually missed off the
previous checklist: turning off nightly pre-release builds after
making the release they were a pre-release of. Ahem.
2015-02-28 12:04:54 +00:00
Simon Tatham bbfd5f4a7c Update the example bob command in the release checklist.
Building from a git tag requires a different command-line syntax from
a Subversion tag.
2014-10-26 08:02:35 +00:00
Simon Tatham 4d8782e74f Rework versioning system to not depend on Subversion.
I've shifted away from using the SVN revision number as a monotonic
version identifier (replacing it in the Windows version resource with
a count of days since an arbitrary epoch), and I've removed all uses
of SVN keyword expansion (replacing them with version information
written out by Buildscr).

While I'm at it, I've done a major rewrite of the affected code which
centralises all the computation of the assorted version numbers and
strings into Buildscr, so that they're all more or less alongside each
other rather than scattered across multiple source files.

I've also retired the MD5-based manifest file system. A long time ago,
it seemed like a good idea to arrange that binaries of PuTTY would
automatically cease to identify themselves as a particular upstream
version number if any changes were made to the source code, so that if
someone made a local tweak and distributed the result then I wouldn't
get blamed for the results. Since then I've decided the whole idea is
more trouble than it's worth, so now distribution tarballs will have
version information baked in and people can just cope with that.

[originally from svn r10262]
2014-09-24 10:33:13 +00:00
Simon Tatham a80ba74239 Checklist update following the 0.62 release. I managed to send out the
announcement email without a subject line, so I'm reorganising the
announcement entry in the checklist in the hope that it'll make it
harder for me to get that one wrong in future!

[originally from svn r9371]
2011-12-10 14:03:02 +00:00
Simon Tatham ce5be27773 Add a release checklist entry to remind me to get rid of 'pre-release'
sections on the Download page.

[originally from svn r9351]
2011-11-27 11:10:15 +00:00
Simon Tatham 7aba365ca9 Readjust checklist, because actually the section on updating the
website _wasn't_ missing - I just looked straight past it somehow.
Fold the two versions together into one more complete than either.

[originally from svn r9206]
2011-07-12 19:59:15 +00:00
Simon Tatham 0efa9febca Various updates to the release checklist:
- for 'ixion' read 'atreus' throughout
 - the signature-checking commands needed minor modifications to cope
   with more *sums files
 - stated a few things explicitly which were previously implied, in
   case the next inter-release gap is also long enough for me to
   forget them.

[originally from svn r9205]
2011-07-12 19:56:00 +00:00
Jacob Nevins 28ef3c91c4 Remove references to the now-dead Mac OS 9 port.
[originally from svn r9071]
2011-01-05 11:58:52 +00:00
Simon Tatham c4893477bd I've changed my mind about the PuTTY build script. It now delivers
the release directory into a _subdirectory_ of the main build.out,
and delivers the link maps and sign.sh alongside it. That simplifies
both the nightly snapshot cron job (which now doesn't have to
carefully move the maps out of the release directory or go looking
in strange places for sign.sh) and my release procedure (for much
the same reasons).

[originally from svn r7258]
2007-02-08 18:53:11 +00:00
Simon Tatham c61c0644e4 The big payoff from bob (from my POV at least): the PuTTY release
procedure is now a huge amount less painful.

[originally from svn r7249]
2007-02-08 09:24:08 +00:00
Simon Tatham aa67efd0fa If I'd tested under Minefield before releasing, r7168 would have
been committed before the release. Therefore, stick it on the
checklist for next time.

[originally from svn r7169]
[r7168 == b3a5cdc5fb]
2007-01-26 14:11:56 +00:00
Simon Tatham 32915ba0c2 Post-release corrections to the checklist.
[originally from svn r7151]
2007-01-24 21:43:11 +00:00
Jacob Nevins 762b1dc37c Mention XXX-REVIEW-BEFORE-RELEASE in the same place as
XXX-REMOVE-BEFORE-RELEASE.

[originally from svn r7141]
2007-01-23 14:12:42 +00:00
Simon Tatham ae1c374667 Checklist updates for the upcoming release, mostly to do with the
retirement of the Alpha build.

[originally from svn r7139]
2007-01-23 11:15:56 +00:00
Simon Tatham 7e4786355d `make mostlyclean', to remove everything directly Halibut-generated
but not the CHM. It'll come in useful during the release process.

[originally from svn r7027]
2006-12-28 10:38:46 +00:00
Simon Tatham 1f352e935b Add some CHM-related stuff to the release checklist. Don't want to
forget about it when the time comes.

[originally from svn r7012]
2006-12-24 16:25:30 +00:00
Jacob Nevins 3b025760fc Change XXX-REMOVE-BEFORE-RELEASE to XXX-REVIEW-BEFORE-RELEASE to allow
more general changes to be queued up.

[originally from svn r6586]
2006-02-27 22:30:38 +00:00
Jacob Nevins 341171d187 Batch of miscellaneous tweaks to the Windows installer:
- Now we've fixed `win-versioninfo', choose some sensible outcomes from
   the installer's comparisons of binary version numbers. Also, give the
   installer _itself_ a matching binary version.
   In particular, without this change, it would not have been possible
   to downgrade PuTTY -- it would have silently left the "newer" files in
   place. Now it will make some fuss, but permit it.
 - Also remove descriptions from shortcuts, on the grounds that the
   binaries have embedded descriptions now. (Although I've not checked
   whether those are actually visible in the Start Menu.)
 - At the request of various people (e.g., PJB), add flags so that if
   files are in use at the time the (un)installer is run, replacement is
   deferred to the next restart. (The user may be prompted to restart,
   which isn't ideal; see comments).
   This is supposed to make centrally-pushed silent upgrades more robust.
 - Note some limitations of the installer.

[originally from svn r6585]
2006-02-27 22:27:49 +00:00
Jacob Nevins 4d48ba62e8 `win-versioninfo': all builds of all Windows binaries now contain
a VERSIONINFO resource. The versioning scheme is described in
windows/version.rc2.

Some .rc files are now #included in others. In order to keep MSVC
project files working, these have been renamed to .rc2; there may exist
a better solution.

(This checkin also includes the documentation tweak missing from r6367.)

Testing performed:
 - MinGW (cross-compiler): works
 - VC nmake: works (tested with VC6)
 - VC project files: builds with VERSIONINFO resource (no VER variable though)
 - Borland: an old version of this patch was tested with it and more or
   less worked, except that some of the VERSIONINFO strings were apparently
   not terminated properly. Not attempted to work around this.
 - LCC: not tested. Some fixes are in there from the last time we tried
   this, but then the build ultimately failed and I haven't tried this
   since that was fixed.
 - Dev-C++: untested. (Haven't done anything special.)
 - Unix Gtk/autoconf Makefiles work as before.

[originally from svn r6374]
[r6367 == f86ad059db]
[this svn revision also touched putty-wishlist]
2005-10-04 14:13:28 +00:00
Simon Tatham 741f654727 I always get a lot of personal mail about PuTTY when I send out a
release announcement, because people reply directly to the
putty-announce mail. I should remember to set a Reply-To header next
time.

[originally from svn r5613]
2005-04-07 12:38:17 +00:00
Simon Tatham 398ec35fe1 Version number and other tweakings prior to the 0.58 release.
[originally from svn r5598]
2005-04-05 19:36:25 +00:00
Jacob Nevins 01e72715c0 XXX-REMOVE-BEFORE-RELEASE: check docs too
[originally from svn r5574]
2005-03-31 09:02:07 +00:00
Jacob Nevins 41793f56d4 Update Inno Setup script. Tested with IS 5.0.8 on Win98SE; I think there are
a few things that will faze whatever we're using currently (2.0.19 or
thereabouts?), but nothing desperately modern. (NB, the 0.57 putty.iss works
fine with 5.0.8 and the installer is even 40k smaller.)

Notable changes:
 - Uninstallation now runs a variant of `putty -cleanup'. The variance is
   only in the text displayed; the user is still prompted, and the default
   action is (now) "keep" in both cases.
 - Optionally add an icon in the Quick Launch bar.
 - Make desktop item optionally for all users. (not tested)
 - "Create a Start Menu group" now handled via IS' own mechanism.

[originally from svn r5423]
2005-03-01 21:34:21 +00:00
Jacob Nevins d13338f581 Some copyright dates that were missed in the Mac port.
[originally from svn r5392]
2005-02-24 20:28:10 +00:00
Simon Tatham 5d32d4af14 Now we use Subversion, it seems excessive to have an individual $Id$
line for every single .but file at the bottom of each page of the
HTML PuTTY docs. However, we can't _always_ replace that with a
single SVN revision, because there isn't always one available (SVN
still allows mixed working copies in which some files are
deliberately checked out against a different revision).

Hence, here's a mechanism for doing better. It uses `svnversion .'
to determine _whether_ a single revision number adequately describes
the current directory, and replaces all the version IDs with that if
so. If it can't do that, it uses the version IDs as before.

Also, this allows an explicit version string to be passed on the
make command line which will override _both_ these possibilities, so
that release documentation can be clearly labelled with the release
version number.

[originally from svn r4804]
2004-11-17 18:16:59 +00:00
Jacob Nevins 93d76da6da Some tweaks for Subversion and windows/ subdir.
[originally from svn r4794]
2004-11-16 23:32:57 +00:00
Simon Tatham 5d71729cdb Good grief! I should create the `htmldoc' subdir in the release tree
_before_ I create the md5sums files. I am a gibbon.

[originally from svn r4702]
2004-10-26 19:47:35 +00:00
Jacob Nevins a7c8747e0d Add bumping version number on trunk to new post-release checklist.
Also, sometimes `0.XX' is used in the docs as a placeholder for a version
number.

[originally from svn r4700]
2004-10-26 19:32:25 +00:00
Simon Tatham 4081fd7051 Reorder a couple of points on the wishlist, and also add a few
helpful chunks of `sh' to make life easier next time I make a release.

[originally from svn r4698]
2004-10-26 18:44:42 +00:00
Simon Tatham ba8f3d464b I'm instituting a policy that before every release I will grep the
PuTTY source for the word XXX-REMOVE-BEFORE-RELEASE, and not release
until I've got rid of all of them. Hence, here's an addition to the
release checklist which will remind me to do so.

I don't want this mechanism to seriously inhibit a release by being
a placeholder for a large piece of work we might never get round to.
It should be used only in cases where it's _simple_ to change the
offending code: for example, a performance-impacting diagnostic
might be invaluable while testing nightly snapshots but wouldn't
want to slow down everyone's next release, and it's easy to get rid
of on release day.

[originally from svn r4623]
2004-10-15 08:16:29 +00:00
Simon Tatham 181e6fdfe1 My new rsync mirror setup might need attention when we do a new
release. Add to checklist.

[originally from svn r4441]
2004-08-11 09:04:47 +00:00