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.16 is needed in order to avoid bugs in m4. These packages may
11   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     m4       - ftp://ftp.gnu.org/pub/gnu/m4
17
18   Release builds should only be done on a system with a functioning
19   and correctly set system clock and on a filesystem which accurately
20   records file update times.  Use of GNU make is recommended.
21
221. Commit any unsaved changes.
23
242. Create html/vX.X.html.  Take ChangeLog entries and html-ify in there.
25   Easist thing to do is take html/vX.(X-1).html and use it as a template.
26   Add that file to the list of EXTRA_DIST files in the html/Makefile.am.
27
283. Update html/index.html to refer to this new page as the current release.
29
304. Increment the release version in configure.ac.  Put 'alpha' or
31   'beta' after the version, if applicable.  For example:
32
33     4.0.0
34      or
35     4.0.0beta7
36
37   Version should be updated in two places: in the second argument of the
38   AC_INIT macro and in LIBTIFF_xxx_VERSION variables.
39
405. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT,
41   LIBTIFF_REVISION, and LIBTIFF_AGE).  These numbers have nothing to
42   do with the libtiff release version numbers.
43
44   Note that as of libtiff 4.X, proper ELF versioning is used so
45   please follow the rules listed in configure.ac.  At a bare minimum,
46   you should increment LIBTIFF_REVISION for each release so that
47   installed library files don't overwrite existing files.  If APIs
48   have been added, removed, or interface structures have changed,
49   then more care is required.
50
516. Add an entry to Changelog similar to:
52
53     * libtiff 4.0.0 released.
54
557. In the source tree do
56
57     ./autogen.sh
58
59   This step may be skipped if you have already been using a
60   maintainer build with current autoconf, automake, and libtool
61   packages.  It is only needed when updating tool versions.
62
638. It is recommended (but not required) to build outside of the source
64   tree so that the source tree is kept in a pristine state.  This
65   also allows sharing the source directory on several networked
66   systems.  For example:
67
68     mkdir libtiff-build
69     cd libtiff-build
70     /path/to/libtiff/configure --enable-maintainer-mode
71
72   otherwise do
73
74     ./configure --enable-maintainer-mode
75
769. In the build tree do
77
78     make release
79
80   This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h
81   in the source tree.
82
8310. In the source tree, verify that the version info in RELEASE-DATE,
84   VERSION and libtiff/tiffvers.h is right.
85
8611. In the build tree do
87
88      make
89      make distcheck
90
91    If 'make distcheck' fails, then correct any issues until it
92    succeeds.
93
94    Two files with names tiff-version.tar.gz and tiff-version.zip will
95    be created in the top level build directory.
96
9712. In the source tree do
98
99      'cvs commit'.
100
10113. In the source tree do
102
103      cvs tag Release-v4-0-0
104
105    (or the appropriate name for the release)
106
10714. Copy release packages from the build tree to the
108    ftp.remotesensing.org ftp site.
109
110      scp tiff-*.tar.gz tiff-*.zip \
111    	 warmerdam@upload.osgeo.org:/osgeo/download/libtiff
112
11315. Announce to list, tiff@lists.maptools.org
114
11516. Update libtiff page on freshmeat with new version announcement.
116
117
118