HOWTO-RELEASE 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. HOWTO-RELEASE:
  2. Notes on releasing.
  3. 0. Make sure that you have current FSF releases of autoconf, automake,
  4. and libtool packages installed under a common installation prefix
  5. and that these tools are in your executable search path prior to
  6. any other installed versions. Versions delivered with Linux may be
  7. altered so it is best to install official FSF releases. GNU 'm4'
  8. 1.4.6 or later is needed in order to avoid bugs in m4. These
  9. packages may be downloaded from the following ftp locations:
  10. autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf
  11. automake - ftp://ftp.gnu.org/pub/gnu/automake
  12. libtool - ftp://ftp.gnu.org/pub/gnu/libtool
  13. Release builds should only be done on a system with a functioning
  14. and correctly set system clock and on a filesystem which accurately
  15. records file update times. Use of GNU make is recommended.
  16. 1. Commit any unsaved changes.
  17. 2. Create html/vX.X.html. Take ChangeLog entries and html-ify in there.
  18. Easist thing to do is take html/vX.(X-1).html and use it as a template.
  19. Add that file to the list of EXTRA_DIST files in the html/Makefile.am.
  20. 3. Update html/index.html to refer to this new page as the current release.
  21. 4. Increment the release version in configure.ac. Put 'alpha' or
  22. 'beta' after the version, if applicable. For example:
  23. 4.0.0
  24. or
  25. 4.0.0beta7
  26. Version should be updated in two places: in the second argument of the
  27. AC_INIT macro and in LIBTIFF_xxx_VERSION variables.
  28. 5. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT,
  29. LIBTIFF_REVISION, and LIBTIFF_AGE). These numbers have nothing to
  30. do with the libtiff release version numbers.
  31. Note that as of libtiff 4.X, proper ELF versioning is used so
  32. please follow the rules listed in configure.ac. At a bare minimum,
  33. you should increment LIBTIFF_REVISION for each release so that
  34. installed library files don't overwrite existing files. If APIs
  35. have been added, removed, or interface structures have changed,
  36. then more care is required.
  37. 6. Add an entry to Changelog similar to:
  38. * libtiff 4.0.0 released.
  39. 7. In the source tree do
  40. ./autogen.sh
  41. This step may be skipped if you have already been using a
  42. maintainer build with current autoconf, automake, and libtool
  43. packages. It is only needed when updating tool versions.
  44. 8. It is recommended (but not required) to build outside of the source
  45. tree so that the source tree is kept in a pristine state. This
  46. also allows sharing the source directory on several networked
  47. systems. For example:
  48. mkdir libtiff-build
  49. cd libtiff-build
  50. /path/to/libtiff/configure --enable-maintainer-mode
  51. otherwise do
  52. ./configure --enable-maintainer-mode
  53. 9. In the build tree do
  54. make release
  55. This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h
  56. in the source tree.
  57. 10. In the source tree, verify that the version info in RELEASE-DATE,
  58. VERSION and libtiff/tiffvers.h is right.
  59. 11. In the build tree do
  60. make
  61. make distcheck
  62. If 'make distcheck' fails, then correct any issues until it
  63. succeeds.
  64. Two files with names tiff-version.tar.gz and tiff-version.zip will
  65. be created in the top level build directory.
  66. 12. In the source tree do
  67. 'cvs commit'.
  68. 13. In the source tree do
  69. cvs tag Release-v4-0-0
  70. (or the appropriate name for the release)
  71. 14. Copy release packages from the build tree to the
  72. ftp.remotesensing.org ftp site.
  73. scp tiff-*.tar.gz tiff-*.zip \
  74. warmerdam@upload.osgeo.org:/osgeo/download/libtiff
  75. 15. Announce to list, tiff@lists.maptools.org
  76. 16. Update libtiff page on freshmeat with new version announcement.