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