xref: /libtiff-4.0.7/HOWTO-RELEASE (revision 20dc4980)
1177452c8SMike WellesHOWTO-RELEASE:
226800555SAndrey Kiselev
3aeb4c8beSBob FriesenhahnNotes on releasing.
4aeb4c8beSBob Friesenhahn
5aeb4c8beSBob Friesenhahn0. Make sure that you have current FSF releases of autoconf, automake,
6aeb4c8beSBob Friesenhahn   and libtool packages installed under a common installation prefix
7aeb4c8beSBob Friesenhahn   and that these tools are in your executable search path prior to
8aeb4c8beSBob Friesenhahn   any other installed versions.  Versions delivered with Linux may be
9aeb4c8beSBob Friesenhahn   altered so it is best to install official FSF releases. GNU 'm4'
1021a904d7SBob Friesenhahn   1.4.16 is needed in order to avoid bugs in m4. These packages may
1121a904d7SBob Friesenhahn   be downloaded from the following ftp locations:
12aeb4c8beSBob Friesenhahn
13d1be5cb7SEven Rouault     m4       - ftp://ftp.gnu.org/pub/gnu/m4
14aeb4c8beSBob Friesenhahn     autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf
15aeb4c8beSBob Friesenhahn     automake - ftp://ftp.gnu.org/pub/gnu/automake
16aeb4c8beSBob Friesenhahn     libtool  - ftp://ftp.gnu.org/pub/gnu/libtool
17d1be5cb7SEven Rouault
180841549bSBob Friesenhahn   It is recommended to install m4 before autoconf, since the later
190841549bSBob Friesenhahn   requires the former.
20aeb4c8beSBob Friesenhahn
21aeb4c8beSBob Friesenhahn   Release builds should only be done on a system with a functioning
22aeb4c8beSBob Friesenhahn   and correctly set system clock and on a filesystem which accurately
23aeb4c8beSBob Friesenhahn   records file update times.  Use of GNU make is recommended.
24177452c8SMike Welles
25256cebdcSFrank Warmerdam1. Commit any unsaved changes.
26177452c8SMike Welles
27cb66df4eSEven Rouault2. Create html/vX.X.html and add it to cvs with 'cvs add html/vX.X.html'.
28cb66df4eSEven Rouault   Take ChangeLog entries and html-ify in there.
29256cebdcSFrank Warmerdam   Easist thing to do is take html/vX.(X-1).html and use it as a template.
30177452c8SMike Welles
31adc4f64cSBob Friesenhahn3. Add vX.X.html file to the list of EXTRA_DIST files in the html/Makefile.am.
32ded7e36fSFrank Warmerdam
33adc4f64cSBob Friesenhahn4. Update html/index.html to refer to this new page as the current release.
34adc4f64cSBob Friesenhahn
35adc4f64cSBob Friesenhahn5. Increment the release version in configure.ac.  Put 'alpha' or
36aeb4c8beSBob Friesenhahn   'beta' after the version, if applicable.  For example:
37177452c8SMike Welles
38aeb4c8beSBob Friesenhahn     4.0.0
39c950f470SFrank Warmerdam      or
40feab28eaSBob Friesenhahn     4.0.0beta7
41177452c8SMike Welles
4226800555SAndrey Kiselev   Version should be updated in two places: in the second argument of the
4326800555SAndrey Kiselev   AC_INIT macro and in LIBTIFF_xxx_VERSION variables.
44177452c8SMike Welles
45adc4f64cSBob Friesenhahn6. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT,
46aeb4c8beSBob Friesenhahn   LIBTIFF_REVISION, and LIBTIFF_AGE).  These numbers have nothing to
47aeb4c8beSBob Friesenhahn   do with the libtiff release version numbers.
4848acb2bdSAndrey Kiselev
49aeb4c8beSBob Friesenhahn   Note that as of libtiff 4.X, proper ELF versioning is used so
50aeb4c8beSBob Friesenhahn   please follow the rules listed in configure.ac.  At a bare minimum,
51aeb4c8beSBob Friesenhahn   you should increment LIBTIFF_REVISION for each release so that
52aeb4c8beSBob Friesenhahn   installed library files don't overwrite existing files.  If APIs
53aeb4c8beSBob Friesenhahn   have been added, removed, or interface structures have changed,
54aeb4c8beSBob Friesenhahn   then more care is required.
55227b123dSAndrey Kiselev
56*20dc4980SBob Friesenhahn7. Add an entry to Changelog similar to:
57c950f470SFrank Warmerdam
58f7b79dc7SBob Friesenhahn     * libtiff 4.0.0 released.
59177452c8SMike Welles
60*20dc4980SBob Friesenhahn8. In the source tree do
61177452c8SMike Welles
62aeb4c8beSBob Friesenhahn     ./autogen.sh
63177452c8SMike Welles
64aeb4c8beSBob Friesenhahn   This step may be skipped if you have already been using a
65aeb4c8beSBob Friesenhahn   maintainer build with current autoconf, automake, and libtool
66aeb4c8beSBob Friesenhahn   packages.  It is only needed when updating tool versions.
67177452c8SMike Welles
68*20dc4980SBob Friesenhahn9. It is recommended (but not required) to build outside of the source
69aeb4c8beSBob Friesenhahn   tree so that the source tree is kept in a pristine state.  This
70aeb4c8beSBob Friesenhahn   also allows sharing the source directory on several networked
71aeb4c8beSBob Friesenhahn   systems.  For example:
7226800555SAndrey Kiselev
73aeb4c8beSBob Friesenhahn     mkdir libtiff-build
74aeb4c8beSBob Friesenhahn     cd libtiff-build
75aeb4c8beSBob Friesenhahn     /path/to/libtiff/configure --enable-maintainer-mode
76aeb4c8beSBob Friesenhahn
77aeb4c8beSBob Friesenhahn   otherwise do
78aeb4c8beSBob Friesenhahn
79aeb4c8beSBob Friesenhahn     ./configure --enable-maintainer-mode
80aeb4c8beSBob Friesenhahn
81*20dc4980SBob Friesenhahn10. In the build tree do
82aeb4c8beSBob Friesenhahn
83aeb4c8beSBob Friesenhahn     make release
84aeb4c8beSBob Friesenhahn
85aeb4c8beSBob Friesenhahn   This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h
86aeb4c8beSBob Friesenhahn   in the source tree.
87aeb4c8beSBob Friesenhahn
88*20dc4980SBob Friesenhahn11. In the source tree, verify that the version info in RELEASE-DATE,
89aeb4c8beSBob Friesenhahn   VERSION and libtiff/tiffvers.h is right.
90aeb4c8beSBob Friesenhahn
91*20dc4980SBob Friesenhahn12. In the build tree do
92aeb4c8beSBob Friesenhahn
93aeb4c8beSBob Friesenhahn      make
94aeb4c8beSBob Friesenhahn      make distcheck
95aeb4c8beSBob Friesenhahn
96aeb4c8beSBob Friesenhahn    If 'make distcheck' fails, then correct any issues until it
97aeb4c8beSBob Friesenhahn    succeeds.
98aeb4c8beSBob Friesenhahn
9926800555SAndrey Kiselev    Two files with names tiff-version.tar.gz and tiff-version.zip will
100aeb4c8beSBob Friesenhahn    be created in the top level build directory.
10126800555SAndrey Kiselev
102*20dc4980SBob Friesenhahn13. In the source tree do
103aeb4c8beSBob Friesenhahn
104aeb4c8beSBob Friesenhahn      'cvs commit'.
105aeb4c8beSBob Friesenhahn
106*20dc4980SBob Friesenhahn14. In the source tree do
107aeb4c8beSBob Friesenhahn
108f7b79dc7SBob Friesenhahn      cvs tag Release-v4-0-0
109aeb4c8beSBob Friesenhahn
110aeb4c8beSBob Friesenhahn    (or the appropriate name for the release)
111aeb4c8beSBob Friesenhahn
112*20dc4980SBob Friesenhahn15. Copy release packages from the build tree to the
113aeb4c8beSBob Friesenhahn    ftp.remotesensing.org ftp site.
114aeb4c8beSBob Friesenhahn
1156302edc8SFrank Warmerdam      scp tiff-*.tar.gz tiff-*.zip \
116111baa28SFrank Warmerdam    	 [email protected]:/osgeo/download/libtiff
117177452c8SMike Welles
118*20dc4980SBob Friesenhahn16. Announce to list, [email protected]
119a7f6e194SMike Welles
120