1HOWTO-RELEASE: 2 3Notes on releasing. 4 50. Make sure that you have current FSF releases of autoconf, automake, 6 and libtool packages installed under a common installation prefix 7 and that these tools are in your executable search path prior to 8 any other installed versions. Versions delivered with Linux may be 9 altered so it is best to install official FSF releases. GNU 'm4' 10 1.4.16 is needed in order to avoid bugs in m4. These packages may 11 be downloaded from the following ftp locations: 12 13 m4 - ftp://ftp.gnu.org/pub/gnu/m4 14 autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf 15 automake - ftp://ftp.gnu.org/pub/gnu/automake 16 libtool - ftp://ftp.gnu.org/pub/gnu/libtool 17 18 It is recommended to install m4 before autoconf, since the later 19 requires the former. 20 21 Release builds should only be done on a system with a functioning 22 and correctly set system clock and on a filesystem which accurately 23 records file update times. Use of GNU make is recommended. 24 251. Commit any unsaved changes. 26 272. Create html/vX.X.html and add it to cvs with 'cvs add html/vX.X.html'. 28 Take ChangeLog entries and html-ify in there. 29 Easist thing to do is take html/vX.(X-1).html and use it as a template. 30 313. Add vX.X.html file to the list of EXTRA_DIST files in the html/Makefile.am. 32 334. Update html/index.html to refer to this new page as the current release. 34 355. Increment the release version in configure.ac. Put 'alpha' or 36 'beta' after the version, if applicable. For example: 37 38 4.0.0 39 or 40 4.0.0beta7 41 42 Version should be updated in two places: in the second argument of the 43 AC_INIT macro and in LIBTIFF_xxx_VERSION variables. 44 456. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT, 46 LIBTIFF_REVISION, and LIBTIFF_AGE). These numbers have nothing to 47 do with the libtiff release version numbers. 48 49 Note that as of libtiff 4.X, proper ELF versioning is used so 50 please follow the rules listed in configure.ac. At a bare minimum, 51 you should increment LIBTIFF_REVISION for each release so that 52 installed library files don't overwrite existing files. If APIs 53 have been added, removed, or interface structures have changed, 54 then more care is required. 55 567. Increment the release version in CMakeLists.txt. Change the 57 'project' property similar to 58 59 # Project version 60 project(tiff VERSION 4.0.5 LANGUAGES C) 61 628. Update library ELF versioning in CMakeLists.txt. This is a raw ELF 63 SO version specification similar to: 64 65 # Library version (unlike libtool's baroque scheme, WYSIWYG here) 66 set(SO_COMPATVERSION 5) 67 set(SO_VERSION 5.2.2) 68 699. Add an entry to Changelog similar to: 70 71 * libtiff 4.0.0 released. 72 7310. In the source tree do 74 75 ./autogen.sh 76 77 This step may be skipped if you have already been using a 78 maintainer build with current autoconf, automake, and libtool 79 packages. It is only needed when updating tool versions. 80 8111. It is recommended (but not required) to build outside of the source 82 tree so that the source tree is kept in a pristine state. This 83 also allows sharing the source directory on several networked 84 systems. For example: 85 86 mkdir libtiff-build 87 cd libtiff-build 88 /path/to/libtiff/configure --enable-maintainer-mode 89 90 otherwise do 91 92 ./configure --enable-maintainer-mode 93 9412. In the build tree do 95 96 make release 97 98 This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h 99 in the source tree. 100 10113. In the source tree, verify that the version info in RELEASE-DATE, 102 VERSION and libtiff/tiffvers.h is right. 103 10414. In the build tree do 105 106 make 107 make distcheck 108 109 If 'make distcheck' fails, then correct any issues until it 110 succeeds. 111 112 Two files with names tiff-version.tar.gz and tiff-version.zip will 113 be created in the top level build directory. 114 11515. In the source tree do 116 117 'cvs commit'. 118 11916. In the source tree do 120 121 cvs tag Release-v4-0-0 122 123 (or the appropriate name for the release) 124 12517. Copy release packages from the build tree to the 126 ftp.remotesensing.org ftp site. 127 128 scp tiff-*.tar.gz tiff-*.zip \ 129 [email protected]:/osgeo/download/libtiff 130 13118. Announce to list, [email protected] 132 133