Blame HOWTO-RELEASE

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