xref: /libtiff-4.0.7/HOWTO-RELEASE (revision aeb4c8be)
1177452c8SMike WellesHOWTO-RELEASE:
226800555SAndrey Kiselev
3*aeb4c8beSBob FriesenhahnNotes on releasing.
4*aeb4c8beSBob Friesenhahn
5*aeb4c8beSBob Friesenhahn0. Make sure that you have current FSF releases of autoconf, automake,
6*aeb4c8beSBob Friesenhahn   and libtool packages installed under a common installation prefix
7*aeb4c8beSBob Friesenhahn   and that these tools are in your executable search path prior to
8*aeb4c8beSBob Friesenhahn   any other installed versions.  Versions delivered with Linux may be
9*aeb4c8beSBob Friesenhahn   altered so it is best to install official FSF releases. GNU 'm4'
10*aeb4c8beSBob Friesenhahn   1.4.6 or later is needed in order to avoid bugs in m4. These
11*aeb4c8beSBob Friesenhahn   packages may be downloaded from the following ftp locations:
12*aeb4c8beSBob Friesenhahn
13*aeb4c8beSBob Friesenhahn     autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf
14*aeb4c8beSBob Friesenhahn     automake - ftp://ftp.gnu.org/pub/gnu/automake
15*aeb4c8beSBob Friesenhahn     libtool  - ftp://ftp.gnu.org/pub/gnu/libtool
16*aeb4c8beSBob Friesenhahn
17*aeb4c8beSBob Friesenhahn   Release builds should only be done on a system with a functioning
18*aeb4c8beSBob Friesenhahn   and correctly set system clock and on a filesystem which accurately
19*aeb4c8beSBob Friesenhahn   records file update times.  Use of GNU make is recommended.
20177452c8SMike Welles
21256cebdcSFrank Warmerdam1. Commit any unsaved changes.
22177452c8SMike Welles
23*aeb4c8beSBob Friesenhahn2. Create html/vX.X.html.  Take ChangeLog entries and html-ify in there.
24256cebdcSFrank Warmerdam   Easist thing to do is take html/vX.(X-1).html and use it as a template.
2526800555SAndrey Kiselev   Add that file to the list of EXTRA_DIST files in the html/Makefile.am.
26177452c8SMike Welles
27*aeb4c8beSBob Friesenhahn3. Update html/index.html to refer to this new page as the current release.
28ded7e36fSFrank Warmerdam
29*aeb4c8beSBob Friesenhahn4. Increment the release version in configure.ac.  Put 'alpha' or
30*aeb4c8beSBob Friesenhahn   'beta' after the version, if applicable.  For example:
31177452c8SMike Welles
32*aeb4c8beSBob Friesenhahn     4.0.0
33c950f470SFrank Warmerdam      or
34*aeb4c8beSBob Friesenhahn     4.0.0beta
35177452c8SMike Welles
3626800555SAndrey Kiselev   Version should be updated in two places: in the second argument of the
3726800555SAndrey Kiselev   AC_INIT macro and in LIBTIFF_xxx_VERSION variables.
38177452c8SMike Welles
39*aeb4c8beSBob Friesenhahn5. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT,
40*aeb4c8beSBob Friesenhahn   LIBTIFF_REVISION, and LIBTIFF_AGE).  These numbers have nothing to
41*aeb4c8beSBob Friesenhahn   do with the libtiff release version numbers.
4248acb2bdSAndrey Kiselev
43*aeb4c8beSBob Friesenhahn   Note that as of libtiff 4.X, proper ELF versioning is used so
44*aeb4c8beSBob Friesenhahn   please follow the rules listed in configure.ac.  At a bare minimum,
45*aeb4c8beSBob Friesenhahn   you should increment LIBTIFF_REVISION for each release so that
46*aeb4c8beSBob Friesenhahn   installed library files don't overwrite existing files.  If APIs
47*aeb4c8beSBob Friesenhahn   have been added, removed, or interface structures have changed,
48*aeb4c8beSBob Friesenhahn   then more care is required.
49227b123dSAndrey Kiselev
50*aeb4c8beSBob Friesenhahn6. Add an entry to Changelog similar to:
51c950f470SFrank Warmerdam
52*aeb4c8beSBob Friesenhahn     * libtiff 4.0.0alpha released.
53177452c8SMike Welles
54*aeb4c8beSBob Friesenhahn7. In the source tree do
55177452c8SMike Welles
56*aeb4c8beSBob Friesenhahn     ./autogen.sh
57177452c8SMike Welles
58*aeb4c8beSBob Friesenhahn   This step may be skipped if you have already been using a
59*aeb4c8beSBob Friesenhahn   maintainer build with current autoconf, automake, and libtool
60*aeb4c8beSBob Friesenhahn   packages.  It is only needed when updating tool versions.
61177452c8SMike Welles
62*aeb4c8beSBob Friesenhahn8. It is recommended (but not required) to build outside of the source
63*aeb4c8beSBob Friesenhahn   tree so that the source tree is kept in a pristine state.  This
64*aeb4c8beSBob Friesenhahn   also allows sharing the source directory on several networked
65*aeb4c8beSBob Friesenhahn   systems.  For example:
6626800555SAndrey Kiselev
67*aeb4c8beSBob Friesenhahn     mkdir libtiff-build
68*aeb4c8beSBob Friesenhahn     cd libtiff-build
69*aeb4c8beSBob Friesenhahn     /path/to/libtiff/configure --enable-maintainer-mode
70*aeb4c8beSBob Friesenhahn
71*aeb4c8beSBob Friesenhahn   otherwise do
72*aeb4c8beSBob Friesenhahn
73*aeb4c8beSBob Friesenhahn     ./configure --enable-maintainer-mode
74*aeb4c8beSBob Friesenhahn
75*aeb4c8beSBob Friesenhahn9. In the build tree do
76*aeb4c8beSBob Friesenhahn
77*aeb4c8beSBob Friesenhahn     make release
78*aeb4c8beSBob Friesenhahn
79*aeb4c8beSBob Friesenhahn   This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h
80*aeb4c8beSBob Friesenhahn   in the source tree.
81*aeb4c8beSBob Friesenhahn
82*aeb4c8beSBob Friesenhahn10. In the source tree, verify that the version info in RELEASE-DATE,
83*aeb4c8beSBob Friesenhahn   VERSION and libtiff/tiffvers.h is right.
84*aeb4c8beSBob Friesenhahn
85*aeb4c8beSBob Friesenhahn11. In the build tree do
86*aeb4c8beSBob Friesenhahn
87*aeb4c8beSBob Friesenhahn      make
88*aeb4c8beSBob Friesenhahn      make distcheck
89*aeb4c8beSBob Friesenhahn
90*aeb4c8beSBob Friesenhahn    If 'make distcheck' fails, then correct any issues until it
91*aeb4c8beSBob Friesenhahn    succeeds.
92*aeb4c8beSBob Friesenhahn
9326800555SAndrey Kiselev    Two files with names tiff-version.tar.gz and tiff-version.zip will
94*aeb4c8beSBob Friesenhahn    be created in the top level build directory.
9526800555SAndrey Kiselev
96*aeb4c8beSBob Friesenhahn12. In the source tree do
97*aeb4c8beSBob Friesenhahn
98*aeb4c8beSBob Friesenhahn      'cvs commit'.
99*aeb4c8beSBob Friesenhahn
100*aeb4c8beSBob Friesenhahn13. In the source tree do
101*aeb4c8beSBob Friesenhahn
102*aeb4c8beSBob Friesenhahn      cvs tag Release-v4-0-0
103*aeb4c8beSBob Friesenhahn
104*aeb4c8beSBob Friesenhahn    (or the appropriate name for the release)
105*aeb4c8beSBob Friesenhahn
106*aeb4c8beSBob Friesenhahn14. Copy release packages from the build tree to the
107*aeb4c8beSBob Friesenhahn    ftp.remotesensing.org ftp site.
108*aeb4c8beSBob Friesenhahn
1096302edc8SFrank Warmerdam      scp tiff-*.tar.gz tiff-*.zip \
1106302edc8SFrank Warmerdam    	 [email protected]:/osgeo/download/libtiff
111177452c8SMike Welles
1126293d0cbSAndrey Kiselev15. Announce to list, [email protected]
113a7f6e194SMike Welles
114227b123dSAndrey Kiselev16. Update libtiff page on freshmeat with new version announcement.
115177452c8SMike Welles
116177452c8SMike Welles
117