roentgen b75cab
HOWTO-RELEASE: 
roentgen b75cab
roentgen b75cab
Notes on releasing.
roentgen b75cab
roentgen b75cab
0. Make sure that you have current FSF releases of autoconf, automake,
roentgen b75cab
   and libtool packages installed under a common installation prefix
roentgen b75cab
   and that these tools are in your executable search path prior to
roentgen b75cab
   any other installed versions.  Versions delivered with Linux may be
roentgen b75cab
   altered so it is best to install official FSF releases. GNU 'm4'
roentgen b75cab
   1.4.16 is needed in order to avoid bugs in m4. These packages may
roentgen b75cab
   be downloaded from the following ftp locations:
roentgen b75cab
roentgen b75cab
     autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf
roentgen b75cab
     automake - ftp://ftp.gnu.org/pub/gnu/automake
roentgen b75cab
     libtool  - ftp://ftp.gnu.org/pub/gnu/libtool
roentgen b75cab
     m4       - ftp://ftp.gnu.org/pub/gnu/m4
roentgen b75cab
roentgen b75cab
   Release builds should only be done on a system with a functioning
roentgen b75cab
   and correctly set system clock and on a filesystem which accurately
roentgen b75cab
   records file update times.  Use of GNU make is recommended.
roentgen b75cab
roentgen b75cab
1. Commit any unsaved changes. 
roentgen b75cab
roentgen b75cab
2. Create html/vX.X.html.  Take ChangeLog entries and html-ify in there. 
roentgen b75cab
   Easist thing to do is take html/vX.(X-1).html and use it as a template.
roentgen b75cab
   Add that file to the list of EXTRA_DIST files in the html/Makefile.am.
roentgen b75cab
roentgen b75cab
3. Update html/index.html to refer to this new page as the current release.
roentgen b75cab
roentgen b75cab
4. Increment the release version in configure.ac.  Put 'alpha' or
roentgen b75cab
   'beta' after the version, if applicable.  For example:
roentgen b75cab
roentgen b75cab
     4.0.0
roentgen b75cab
      or
roentgen b75cab
     4.0.0beta7
roentgen b75cab
roentgen b75cab
   Version should be updated in two places: in the second argument of the
roentgen b75cab
   AC_INIT macro and in LIBTIFF_xxx_VERSION variables.
roentgen b75cab
roentgen b75cab
5. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT,
roentgen b75cab
   LIBTIFF_REVISION, and LIBTIFF_AGE).  These numbers have nothing to
roentgen b75cab
   do with the libtiff release version numbers.
roentgen b75cab
roentgen b75cab
   Note that as of libtiff 4.X, proper ELF versioning is used so
roentgen b75cab
   please follow the rules listed in configure.ac.  At a bare minimum,
roentgen b75cab
   you should increment LIBTIFF_REVISION for each release so that
roentgen b75cab
   installed library files don't overwrite existing files.  If APIs
roentgen b75cab
   have been added, removed, or interface structures have changed,
roentgen b75cab
   then more care is required.
roentgen b75cab
roentgen b75cab
6. Add an entry to Changelog similar to:
roentgen b75cab
roentgen b75cab
     * libtiff 4.0.0 released.
roentgen b75cab
roentgen b75cab
7. In the source tree do
roentgen b75cab
roentgen b75cab
     ./autogen.sh
roentgen b75cab
roentgen b75cab
   This step may be skipped if you have already been using a
roentgen b75cab
   maintainer build with current autoconf, automake, and libtool
roentgen b75cab
   packages.  It is only needed when updating tool versions.
roentgen b75cab
roentgen b75cab
8. It is recommended (but not required) to build outside of the source
roentgen b75cab
   tree so that the source tree is kept in a pristine state.  This
roentgen b75cab
   also allows sharing the source directory on several networked
roentgen b75cab
   systems.  For example:
roentgen b75cab
roentgen b75cab
     mkdir libtiff-build
roentgen b75cab
     cd libtiff-build
roentgen b75cab
     /path/to/libtiff/configure --enable-maintainer-mode
roentgen b75cab
roentgen b75cab
   otherwise do
roentgen b75cab
roentgen b75cab
     ./configure --enable-maintainer-mode
roentgen b75cab
roentgen b75cab
9. In the build tree do
roentgen b75cab
roentgen b75cab
     make release
roentgen b75cab
roentgen b75cab
   This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h
roentgen b75cab
   in the source tree.
roentgen b75cab
roentgen b75cab
10. In the source tree, verify that the version info in RELEASE-DATE,
roentgen b75cab
   VERSION and libtiff/tiffvers.h is right.
roentgen b75cab
roentgen b75cab
11. In the build tree do
roentgen b75cab
roentgen b75cab
      make
roentgen b75cab
      make distcheck
roentgen b75cab
roentgen b75cab
    If 'make distcheck' fails, then correct any issues until it
roentgen b75cab
    succeeds.
roentgen b75cab
roentgen b75cab
    Two files with names tiff-version.tar.gz and tiff-version.zip will
roentgen b75cab
    be created in the top level build directory.
roentgen b75cab
roentgen b75cab
12. In the source tree do
roentgen b75cab
roentgen b75cab
      'cvs commit'.
roentgen b75cab
roentgen b75cab
13. In the source tree do
roentgen b75cab
roentgen b75cab
      cvs tag Release-v4-0-0
roentgen b75cab
roentgen b75cab
    (or the appropriate name for the release)
roentgen b75cab
roentgen b75cab
14. Copy release packages from the build tree to the
roentgen b75cab
    ftp.remotesensing.org ftp site.
roentgen b75cab
roentgen b75cab
      scp tiff-*.tar.gz tiff-*.zip \
roentgen b75cab
    	 warmerdam@upload.osgeo.org:/osgeo/download/libtiff
roentgen b75cab
roentgen b75cab
15. Announce to list, tiff@lists.maptools.org
roentgen b75cab
roentgen b75cab
16. Update libtiff page on freshmeat with new version announcement.
roentgen b75cab
roentgen b75cab