1177452c8SMike WellesHOWTO-RELEASE: 226800555SAndrey Kiselev 3aeb4c8beSBob FriesenhahnNotes on releasing. 4aeb4c8beSBob Friesenhahn 5aeb4c8beSBob Friesenhahn0. Make sure that you have current FSF releases of autoconf, automake, 6aeb4c8beSBob Friesenhahn and libtool packages installed under a common installation prefix 7aeb4c8beSBob Friesenhahn and that these tools are in your executable search path prior to 8aeb4c8beSBob Friesenhahn any other installed versions. Versions delivered with Linux may be 9aeb4c8beSBob Friesenhahn altered so it is best to install official FSF releases. GNU 'm4' 1021a904d7SBob Friesenhahn 1.4.16 is needed in order to avoid bugs in m4. These packages may 1121a904d7SBob Friesenhahn be downloaded from the following ftp locations: 12aeb4c8beSBob Friesenhahn 13d1be5cb7SEven Rouault m4 - ftp://ftp.gnu.org/pub/gnu/m4 14aeb4c8beSBob Friesenhahn autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf 15aeb4c8beSBob Friesenhahn automake - ftp://ftp.gnu.org/pub/gnu/automake 16aeb4c8beSBob Friesenhahn libtool - ftp://ftp.gnu.org/pub/gnu/libtool 17d1be5cb7SEven Rouault 180841549bSBob Friesenhahn It is recommended to install m4 before autoconf, since the later 190841549bSBob Friesenhahn requires the former. 20aeb4c8beSBob Friesenhahn 21aeb4c8beSBob Friesenhahn Release builds should only be done on a system with a functioning 22aeb4c8beSBob Friesenhahn and correctly set system clock and on a filesystem which accurately 23aeb4c8beSBob Friesenhahn records file update times. Use of GNU make is recommended. 24177452c8SMike Welles 25256cebdcSFrank Warmerdam1. Commit any unsaved changes. 26177452c8SMike Welles 27cb66df4eSEven Rouault2. Create html/vX.X.html and add it to cvs with 'cvs add html/vX.X.html'. 28cb66df4eSEven Rouault Take ChangeLog entries and html-ify in there. 29256cebdcSFrank Warmerdam Easist thing to do is take html/vX.(X-1).html and use it as a template. 30177452c8SMike Welles 31adc4f64cSBob Friesenhahn3. Add vX.X.html file to the list of EXTRA_DIST files in the html/Makefile.am. 32ded7e36fSFrank Warmerdam 33adc4f64cSBob Friesenhahn4. Update html/index.html to refer to this new page as the current release. 34adc4f64cSBob Friesenhahn 35adc4f64cSBob Friesenhahn5. Increment the release version in configure.ac. Put 'alpha' or 36aeb4c8beSBob Friesenhahn 'beta' after the version, if applicable. For example: 37177452c8SMike Welles 38aeb4c8beSBob Friesenhahn 4.0.0 39c950f470SFrank Warmerdam or 40feab28eaSBob Friesenhahn 4.0.0beta7 41177452c8SMike Welles 4226800555SAndrey Kiselev Version should be updated in two places: in the second argument of the 4326800555SAndrey Kiselev AC_INIT macro and in LIBTIFF_xxx_VERSION variables. 44177452c8SMike Welles 45adc4f64cSBob Friesenhahn6. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT, 46aeb4c8beSBob Friesenhahn LIBTIFF_REVISION, and LIBTIFF_AGE). These numbers have nothing to 47aeb4c8beSBob Friesenhahn do with the libtiff release version numbers. 4848acb2bdSAndrey Kiselev 49aeb4c8beSBob Friesenhahn Note that as of libtiff 4.X, proper ELF versioning is used so 50aeb4c8beSBob Friesenhahn please follow the rules listed in configure.ac. At a bare minimum, 51aeb4c8beSBob Friesenhahn you should increment LIBTIFF_REVISION for each release so that 52aeb4c8beSBob Friesenhahn installed library files don't overwrite existing files. If APIs 53aeb4c8beSBob Friesenhahn have been added, removed, or interface structures have changed, 54aeb4c8beSBob Friesenhahn then more care is required. 55227b123dSAndrey Kiselev 56*20dc4980SBob Friesenhahn7. Add an entry to Changelog similar to: 57c950f470SFrank Warmerdam 58f7b79dc7SBob Friesenhahn * libtiff 4.0.0 released. 59177452c8SMike Welles 60*20dc4980SBob Friesenhahn8. In the source tree do 61177452c8SMike Welles 62aeb4c8beSBob Friesenhahn ./autogen.sh 63177452c8SMike Welles 64aeb4c8beSBob Friesenhahn This step may be skipped if you have already been using a 65aeb4c8beSBob Friesenhahn maintainer build with current autoconf, automake, and libtool 66aeb4c8beSBob Friesenhahn packages. It is only needed when updating tool versions. 67177452c8SMike Welles 68*20dc4980SBob Friesenhahn9. It is recommended (but not required) to build outside of the source 69aeb4c8beSBob Friesenhahn tree so that the source tree is kept in a pristine state. This 70aeb4c8beSBob Friesenhahn also allows sharing the source directory on several networked 71aeb4c8beSBob Friesenhahn systems. For example: 7226800555SAndrey Kiselev 73aeb4c8beSBob Friesenhahn mkdir libtiff-build 74aeb4c8beSBob Friesenhahn cd libtiff-build 75aeb4c8beSBob Friesenhahn /path/to/libtiff/configure --enable-maintainer-mode 76aeb4c8beSBob Friesenhahn 77aeb4c8beSBob Friesenhahn otherwise do 78aeb4c8beSBob Friesenhahn 79aeb4c8beSBob Friesenhahn ./configure --enable-maintainer-mode 80aeb4c8beSBob Friesenhahn 81*20dc4980SBob Friesenhahn10. In the build tree do 82aeb4c8beSBob Friesenhahn 83aeb4c8beSBob Friesenhahn make release 84aeb4c8beSBob Friesenhahn 85aeb4c8beSBob Friesenhahn This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h 86aeb4c8beSBob Friesenhahn in the source tree. 87aeb4c8beSBob Friesenhahn 88*20dc4980SBob Friesenhahn11. In the source tree, verify that the version info in RELEASE-DATE, 89aeb4c8beSBob Friesenhahn VERSION and libtiff/tiffvers.h is right. 90aeb4c8beSBob Friesenhahn 91*20dc4980SBob Friesenhahn12. In the build tree do 92aeb4c8beSBob Friesenhahn 93aeb4c8beSBob Friesenhahn make 94aeb4c8beSBob Friesenhahn make distcheck 95aeb4c8beSBob Friesenhahn 96aeb4c8beSBob Friesenhahn If 'make distcheck' fails, then correct any issues until it 97aeb4c8beSBob Friesenhahn succeeds. 98aeb4c8beSBob Friesenhahn 9926800555SAndrey Kiselev Two files with names tiff-version.tar.gz and tiff-version.zip will 100aeb4c8beSBob Friesenhahn be created in the top level build directory. 10126800555SAndrey Kiselev 102*20dc4980SBob Friesenhahn13. In the source tree do 103aeb4c8beSBob Friesenhahn 104aeb4c8beSBob Friesenhahn 'cvs commit'. 105aeb4c8beSBob Friesenhahn 106*20dc4980SBob Friesenhahn14. In the source tree do 107aeb4c8beSBob Friesenhahn 108f7b79dc7SBob Friesenhahn cvs tag Release-v4-0-0 109aeb4c8beSBob Friesenhahn 110aeb4c8beSBob Friesenhahn (or the appropriate name for the release) 111aeb4c8beSBob Friesenhahn 112*20dc4980SBob Friesenhahn15. Copy release packages from the build tree to the 113aeb4c8beSBob Friesenhahn ftp.remotesensing.org ftp site. 114aeb4c8beSBob Friesenhahn 1156302edc8SFrank Warmerdam scp tiff-*.tar.gz tiff-*.zip \ 116111baa28SFrank Warmerdam [email protected]:/osgeo/download/libtiff 117177452c8SMike Welles 118*20dc4980SBob Friesenhahn16. Announce to list, [email protected] 119a7f6e194SMike Welles 120