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.6 or later is needed in order to avoid bugs in m4. These 11 packages may be downloaded from the following ftp locations: 12 13 autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf 14 automake - ftp://ftp.gnu.org/pub/gnu/automake 15 libtool - ftp://ftp.gnu.org/pub/gnu/libtool 16 17 Release builds should only be done on a system with a functioning 18 and correctly set system clock and on a filesystem which accurately 19 records file update times. Use of GNU make is recommended. 20 211. Commit any unsaved changes. 22 232. Create html/vX.X.html. Take ChangeLog entries and html-ify in there. 24 Easist thing to do is take html/vX.(X-1).html and use it as a template. 25 Add that file to the list of EXTRA_DIST files in the html/Makefile.am. 26 273. Update html/index.html to refer to this new page as the current release. 28 294. Increment the release version in configure.ac. Put 'alpha' or 30 'beta' after the version, if applicable. For example: 31 32 4.0.0 33 or 34 4.0.0beta7 35 36 Version should be updated in two places: in the second argument of the 37 AC_INIT macro and in LIBTIFF_xxx_VERSION variables. 38 395. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT, 40 LIBTIFF_REVISION, and LIBTIFF_AGE). These numbers have nothing to 41 do with the libtiff release version numbers. 42 43 Note that as of libtiff 4.X, proper ELF versioning is used so 44 please follow the rules listed in configure.ac. At a bare minimum, 45 you should increment LIBTIFF_REVISION for each release so that 46 installed library files don't overwrite existing files. If APIs 47 have been added, removed, or interface structures have changed, 48 then more care is required. 49 506. Add an entry to Changelog similar to: 51 52 * libtiff 4.0.0 released. 53 547. In the source tree do 55 56 ./autogen.sh 57 58 This step may be skipped if you have already been using a 59 maintainer build with current autoconf, automake, and libtool 60 packages. It is only needed when updating tool versions. 61 628. It is recommended (but not required) to build outside of the source 63 tree so that the source tree is kept in a pristine state. This 64 also allows sharing the source directory on several networked 65 systems. For example: 66 67 mkdir libtiff-build 68 cd libtiff-build 69 /path/to/libtiff/configure --enable-maintainer-mode 70 71 otherwise do 72 73 ./configure --enable-maintainer-mode 74 759. In the build tree do 76 77 make release 78 79 This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h 80 in the source tree. 81 8210. In the source tree, verify that the version info in RELEASE-DATE, 83 VERSION and libtiff/tiffvers.h is right. 84 8511. In the build tree do 86 87 make 88 make distcheck 89 90 If 'make distcheck' fails, then correct any issues until it 91 succeeds. 92 93 Two files with names tiff-version.tar.gz and tiff-version.zip will 94 be created in the top level build directory. 95 9612. In the source tree do 97 98 'cvs commit'. 99 10013. In the source tree do 101 102 cvs tag Release-v4-0-0 103 104 (or the appropriate name for the release) 105 10614. Copy release packages from the build tree to the 107 ftp.remotesensing.org ftp site. 108 109 scp tiff-*.tar.gz tiff-*.zip \ 110 [email protected]:/osgeo/download/libtiff 111 11215. Announce to list, [email protected] 113 11416. Update libtiff page on freshmeat with new version announcement. 115 116 117