Blame HOWTO-RELEASE

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