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