1177452c8SMike WellesHOWTO-RELEASE: 226800555SAndrey Kiselev 3*aeb4c8beSBob FriesenhahnNotes on releasing. 4*aeb4c8beSBob Friesenhahn 5*aeb4c8beSBob Friesenhahn0. Make sure that you have current FSF releases of autoconf, automake, 6*aeb4c8beSBob Friesenhahn and libtool packages installed under a common installation prefix 7*aeb4c8beSBob Friesenhahn and that these tools are in your executable search path prior to 8*aeb4c8beSBob Friesenhahn any other installed versions. Versions delivered with Linux may be 9*aeb4c8beSBob Friesenhahn altered so it is best to install official FSF releases. GNU 'm4' 10*aeb4c8beSBob Friesenhahn 1.4.6 or later is needed in order to avoid bugs in m4. These 11*aeb4c8beSBob Friesenhahn packages may be downloaded from the following ftp locations: 12*aeb4c8beSBob Friesenhahn 13*aeb4c8beSBob Friesenhahn autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf 14*aeb4c8beSBob Friesenhahn automake - ftp://ftp.gnu.org/pub/gnu/automake 15*aeb4c8beSBob Friesenhahn libtool - ftp://ftp.gnu.org/pub/gnu/libtool 16*aeb4c8beSBob Friesenhahn 17*aeb4c8beSBob Friesenhahn Release builds should only be done on a system with a functioning 18*aeb4c8beSBob Friesenhahn and correctly set system clock and on a filesystem which accurately 19*aeb4c8beSBob Friesenhahn records file update times. Use of GNU make is recommended. 20177452c8SMike Welles 21256cebdcSFrank Warmerdam1. Commit any unsaved changes. 22177452c8SMike Welles 23*aeb4c8beSBob Friesenhahn2. Create html/vX.X.html. Take ChangeLog entries and html-ify in there. 24256cebdcSFrank Warmerdam Easist thing to do is take html/vX.(X-1).html and use it as a template. 2526800555SAndrey Kiselev Add that file to the list of EXTRA_DIST files in the html/Makefile.am. 26177452c8SMike Welles 27*aeb4c8beSBob Friesenhahn3. Update html/index.html to refer to this new page as the current release. 28ded7e36fSFrank Warmerdam 29*aeb4c8beSBob Friesenhahn4. Increment the release version in configure.ac. Put 'alpha' or 30*aeb4c8beSBob Friesenhahn 'beta' after the version, if applicable. For example: 31177452c8SMike Welles 32*aeb4c8beSBob Friesenhahn 4.0.0 33c950f470SFrank Warmerdam or 34*aeb4c8beSBob Friesenhahn 4.0.0beta 35177452c8SMike Welles 3626800555SAndrey Kiselev Version should be updated in two places: in the second argument of the 3726800555SAndrey Kiselev AC_INIT macro and in LIBTIFF_xxx_VERSION variables. 38177452c8SMike Welles 39*aeb4c8beSBob Friesenhahn5. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT, 40*aeb4c8beSBob Friesenhahn LIBTIFF_REVISION, and LIBTIFF_AGE). These numbers have nothing to 41*aeb4c8beSBob Friesenhahn do with the libtiff release version numbers. 4248acb2bdSAndrey Kiselev 43*aeb4c8beSBob Friesenhahn Note that as of libtiff 4.X, proper ELF versioning is used so 44*aeb4c8beSBob Friesenhahn please follow the rules listed in configure.ac. At a bare minimum, 45*aeb4c8beSBob Friesenhahn you should increment LIBTIFF_REVISION for each release so that 46*aeb4c8beSBob Friesenhahn installed library files don't overwrite existing files. If APIs 47*aeb4c8beSBob Friesenhahn have been added, removed, or interface structures have changed, 48*aeb4c8beSBob Friesenhahn then more care is required. 49227b123dSAndrey Kiselev 50*aeb4c8beSBob Friesenhahn6. Add an entry to Changelog similar to: 51c950f470SFrank Warmerdam 52*aeb4c8beSBob Friesenhahn * libtiff 4.0.0alpha released. 53177452c8SMike Welles 54*aeb4c8beSBob Friesenhahn7. In the source tree do 55177452c8SMike Welles 56*aeb4c8beSBob Friesenhahn ./autogen.sh 57177452c8SMike Welles 58*aeb4c8beSBob Friesenhahn This step may be skipped if you have already been using a 59*aeb4c8beSBob Friesenhahn maintainer build with current autoconf, automake, and libtool 60*aeb4c8beSBob Friesenhahn packages. It is only needed when updating tool versions. 61177452c8SMike Welles 62*aeb4c8beSBob Friesenhahn8. It is recommended (but not required) to build outside of the source 63*aeb4c8beSBob Friesenhahn tree so that the source tree is kept in a pristine state. This 64*aeb4c8beSBob Friesenhahn also allows sharing the source directory on several networked 65*aeb4c8beSBob Friesenhahn systems. For example: 6626800555SAndrey Kiselev 67*aeb4c8beSBob Friesenhahn mkdir libtiff-build 68*aeb4c8beSBob Friesenhahn cd libtiff-build 69*aeb4c8beSBob Friesenhahn /path/to/libtiff/configure --enable-maintainer-mode 70*aeb4c8beSBob Friesenhahn 71*aeb4c8beSBob Friesenhahn otherwise do 72*aeb4c8beSBob Friesenhahn 73*aeb4c8beSBob Friesenhahn ./configure --enable-maintainer-mode 74*aeb4c8beSBob Friesenhahn 75*aeb4c8beSBob Friesenhahn9. In the build tree do 76*aeb4c8beSBob Friesenhahn 77*aeb4c8beSBob Friesenhahn make release 78*aeb4c8beSBob Friesenhahn 79*aeb4c8beSBob Friesenhahn This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h 80*aeb4c8beSBob Friesenhahn in the source tree. 81*aeb4c8beSBob Friesenhahn 82*aeb4c8beSBob Friesenhahn10. In the source tree, verify that the version info in RELEASE-DATE, 83*aeb4c8beSBob Friesenhahn VERSION and libtiff/tiffvers.h is right. 84*aeb4c8beSBob Friesenhahn 85*aeb4c8beSBob Friesenhahn11. In the build tree do 86*aeb4c8beSBob Friesenhahn 87*aeb4c8beSBob Friesenhahn make 88*aeb4c8beSBob Friesenhahn make distcheck 89*aeb4c8beSBob Friesenhahn 90*aeb4c8beSBob Friesenhahn If 'make distcheck' fails, then correct any issues until it 91*aeb4c8beSBob Friesenhahn succeeds. 92*aeb4c8beSBob Friesenhahn 9326800555SAndrey Kiselev Two files with names tiff-version.tar.gz and tiff-version.zip will 94*aeb4c8beSBob Friesenhahn be created in the top level build directory. 9526800555SAndrey Kiselev 96*aeb4c8beSBob Friesenhahn12. In the source tree do 97*aeb4c8beSBob Friesenhahn 98*aeb4c8beSBob Friesenhahn 'cvs commit'. 99*aeb4c8beSBob Friesenhahn 100*aeb4c8beSBob Friesenhahn13. In the source tree do 101*aeb4c8beSBob Friesenhahn 102*aeb4c8beSBob Friesenhahn cvs tag Release-v4-0-0 103*aeb4c8beSBob Friesenhahn 104*aeb4c8beSBob Friesenhahn (or the appropriate name for the release) 105*aeb4c8beSBob Friesenhahn 106*aeb4c8beSBob Friesenhahn14. Copy release packages from the build tree to the 107*aeb4c8beSBob Friesenhahn ftp.remotesensing.org ftp site. 108*aeb4c8beSBob Friesenhahn 1096302edc8SFrank Warmerdam scp tiff-*.tar.gz tiff-*.zip \ 1106302edc8SFrank Warmerdam [email protected]:/osgeo/download/libtiff 111177452c8SMike Welles 1126293d0cbSAndrey Kiselev15. Announce to list, [email protected] 113a7f6e194SMike Welles 114227b123dSAndrey Kiselev16. Update libtiff page on freshmeat with new version announcement. 115177452c8SMike Welles 116177452c8SMike Welles 117