I've changed my mind about the PuTTY build script. It now delivers
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 8 Feb 2007 18:53:11 +0000 (18:53 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 8 Feb 2007 18:53:11 +0000 (18:53 +0000)
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).

git-svn-id: svn://svn.tartarus.org/sgt/putty@7258 cda61777-01e9-0310-a592-d414129be87e

Buildscr
CHECKLST.txt

index d48f5a4..568196a 100644 (file)
--- a/Buildscr
+++ b/Buildscr
@@ -74,32 +74,37 @@ in putty/doc do make $(Docmakeargs)
 in putty/windows do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../doc/putty.chm ../doc/putty.hlp ../doc/putty.cnt
 in putty/doc do zip puttydoc.zip *.html
 
-deliver putty/windows/*.exe x86/$@
-deliver putty/windows/putty.zip x86/$@
-deliver putty/windows/Output/setup.exe x86/$(Ifilename)
-deliver putty/doc/puttydoc.zip $@
-deliver putty/doc/putty.chm $@
-deliver putty/doc/putty.hlp $@
-deliver putty/doc/putty.cnt $@
-deliver putty/doc/puttydoc.txt $@
-deliver putty/doc/*.html htmldoc/$@
-deliver putty/putty-src.zip $@
-deliver putty/*.tar.gz $@
+# Deliver the actual PuTTY release directory into a subdir `putty'.
+deliver putty/windows/*.exe putty/x86/$@
+deliver putty/windows/putty.zip putty/x86/$@
+deliver putty/windows/Output/setup.exe putty/x86/$(Ifilename)
+deliver putty/doc/puttydoc.zip putty/$@
+deliver putty/doc/putty.chm putty/$@
+deliver putty/doc/putty.hlp putty/$@
+deliver putty/doc/putty.cnt putty/$@
+deliver putty/doc/puttydoc.txt putty/$@
+deliver putty/doc/*.html putty/htmldoc/$@
+deliver putty/putty-src.zip putty/$@
+deliver putty/*.tar.gz putty/$@
+
+# Deliver the map files alongside the `proper' release deliverables.
+deliver putty/windows/*.map maps-x86/$@
+
+# Deliver sign.sh, so that whoever has just built PuTTY (the
+# snapshot scripts or me, depending) can conveniently sign it with
+# whatever key they want.
+deliver putty/sign.sh $@
 
 # Building the md5sums file is most easily done in the destination
 # directory.
-in-dest . do md5sum `\find * -type f -print` > md5sums
-
-# Now deliver the map files _after_ we do that, so we don't md5sum
-# them gratuitously.
-deliver putty/windows/*.map maps-x86/$@
+in-dest putty do md5sum `\find * -type f -print` > md5sums
 
 # And construct .htaccess files. One in the top-level directory,
 # setting the MIME types for Windows help files and providing an
 # appropriate link to the source archive:
-in-dest . do echo "AddType application/octet-stream .chm" >> .htaccess
-in-dest . do echo "AddType application/octet-stream .hlp" >> .htaccess
-in-dest . do echo "AddType application/octet-stream .cnt" >> .htaccess
-in-dest . do set -- putty*.tar.gz; for k in '' .DSA .RSA; do echo RedirectMatch temp '(.*/)'putty.tar.gz$$k\$$ '$$1'"$$1$$k" >> .htaccess; done
+in-dest putty do echo "AddType application/octet-stream .chm" >> .htaccess
+in-dest putty do echo "AddType application/octet-stream .hlp" >> .htaccess
+in-dest putty do echo "AddType application/octet-stream .cnt" >> .htaccess
+in-dest putty do set -- putty*.tar.gz; for k in '' .DSA .RSA; do echo RedirectMatch temp '(.*/)'putty.tar.gz$$k\$$ '$$1'"$$1$$k" >> .htaccess; done
 # And one in the x86 directory, providing a link for the installer.
-in-dest x86 do set -- putty*installer.exe; for k in '' .DSA .RSA; do echo RedirectMatch temp '(.*/)'putty-installer.exe$$k\$$ '$$1'"$$1$$k" >> .htaccess; done
+in-dest putty/x86 do set -- putty*installer.exe; for k in '' .DSA .RSA; do echo RedirectMatch temp '(.*/)'putty-installer.exe$$k\$$ '$$1'"$$1$$k" >> .htaccess; done
index ac5f317..37b2de6 100644 (file)
@@ -115,21 +115,22 @@ of the tag.
    within days of the release going out.
 
  - Build the release: `bob putty-0.XX RELEASE=0.XX'. This should
-   generate a basically valid release directory as `build.out'.
+   generate a basically valid release directory as
+   `build.out/putty', and provide link maps and sign.sh alongside
+   that in build.out.
 
  - Do a bit of checking that the release binaries basically work,
    report their version numbers accurately, and so on. Test the
    installer and the Unix source tarball.
 
- - Move the release link maps out of the build directory and save
-   them somewhere more useful. Currently I keep these on ixion, in
+ - Save the link maps. Currently I keep these on ixion, in
    src/putty/local/maps-<version>.
 
- - Sign the release: type `./sign.sh build.out Releases', and enter
-   the passphrases a lot of times.
+ - Sign the release: in the `build.out' directory, type `./sign.sh
+   putty Releases', and enter the passphrases a lot of times.
 
  - Now the whole release directory should be present and correct.
-   Upload to ixion:www/putty/<ver>.
+   Upload it to ixion:www/putty/<ver>.
 
  - Do final checks on the release directory:
     + verify all the signatures: