VTP Release Procedure

Anyone, in theory, can produce a release of the VTP software.  Here are the steps that i go through, to serve as a guide for anyone else to follow, or for anyone interested in the process.

The process starts on a Windows machine, switches to Linux, and back again.

Your Windows machine should have a folder C:\Distrib where the scripts etc. will expect to assemble their files.

  1. Check CVS
  2. Build Everything in VC7, and then in VC8
  3. Test on Windows
  4. Build Everything on Linux
  5. Test on Linux
  6. Back on Windows, generate the source code documentation.
  7. Create the VTP distribution Zip files
  8. If any APIs have changed versions, rebuild their Windows binary zips:
    1. For GDAL, rebuild GDAL (both Debug and Release) and use Frank's "mk_win_bin_dist.sh" script to generate a distribution zipfile, e.g. gdal-119-ntbin.zip (or assemble this zip manually).
    2. For OSG, rebuild Debug and Release of only the projects that VTP needs:
       
      osg osgdb_3ds osgdb_jpeg osgdb_png
      osgDB osgdb_bmp osgdb_lwo osgdb_rgb
      osgUtil osgdb_flt osgdb_obj osgdb_tga
      osgText osgdb_freetype osgdb_osg osgdb_tiff

      Copy just the bin, lib, and include folders to a new folder, e.g. \APIs\osg-0.9.7-bin, and make this into a zipfile, e.g. osg-0.9.7-bin.zip
      Make another folder alongside 'bin' called 'bin-rel-only' which contains only the Release mode version of the libraries.  This will be used by InnoSetup in a later step.

    3. In the rare case that we must upgrade to a newer version of libjpeg, libpng, NetCDF, libMini, libwww, or ZipArchive, build it and update WinAPIs-xxxx.zip (where xxxx is the date, YYMM)
  9. If any APIs have changed versions, update:
  10. Rebuild the Windows Installers
  11. If you are the webmaster, update all URLs in the download and build instructions on the website.  A way to do this that's not error-prone is to do a semi-automatic seach-and-replace on the release date, e.g. if the previous version was 031024 and the current is 031105, search and replace those strings.
  12. Upload.
    From: C:\Distrib
    To: cyclone.he.net/home/vterrain/dist
    All zipfiles and installer exes that have changed.
  13. If you are the mailing list moderator, announce the release.
  14. If this is a CD release as well, rebuild the Disk Image for the distribution.  It will contain:
    1. index.html, which can be copied from the previous CD and updated appropriately
    2. Archives folder, which contains all possibly needed distribution files for the VTP and all its dependencies.  Start with the previous CDs contents, updating files as needed.
    3. HTML folder, which contains copies of the latest Download and Distrib folders of the website, carefully modified to point to local paths on the CD.
    4. SiteMirror, which is a copy of the FrontPage source of the VTP site with all the private and _vti_cnf folders removed.