Blame HOWTO-RELEASE

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