]>
Commit | Line | Data |
---|---|---|
8414a40c VZ |
1 | HOWTO-RELEASE: |
2 | ||
80ed523f | 3 | Notes on releasing. |
8414a40c | 4 | |
80ed523f VZ |
5 | 0. 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 | |
8414a40c | 17 | |
80ed523f VZ |
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. | |
8414a40c | 21 | |
80ed523f VZ |
22 | 1. Commit any unsaved changes. |
23 | ||
24 | 2. Create html/vX.X.html. Take ChangeLog entries and html-ify in there. | |
8414a40c VZ |
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 | ||
80ed523f | 28 | 3. Update html/index.html to refer to this new page as the current release. |
8414a40c | 29 | |
80ed523f VZ |
30 | 4. Increment the release version in configure.ac. Put 'alpha' or |
31 | 'beta' after the version, if applicable. For example: | |
8414a40c | 32 | |
80ed523f VZ |
33 | 4.0.0 |
34 | or | |
35 | 4.0.0beta7 | |
8414a40c VZ |
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 | ||
80ed523f VZ |
40 | 5. 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 | ||
51 | 6. Add an entry to Changelog similar to: | |
52 | ||
53 | * libtiff 4.0.0 released. | |
54 | ||
55 | 7. 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. | |
8414a40c | 62 | |
80ed523f VZ |
63 | 8. 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: | |
8414a40c | 67 | |
80ed523f VZ |
68 | mkdir libtiff-build |
69 | cd libtiff-build | |
70 | /path/to/libtiff/configure --enable-maintainer-mode | |
8414a40c | 71 | |
80ed523f | 72 | otherwise do |
8414a40c | 73 | |
80ed523f | 74 | ./configure --enable-maintainer-mode |
8414a40c | 75 | |
80ed523f | 76 | 9. In the build tree do |
8414a40c | 77 | |
80ed523f | 78 | make release |
8414a40c | 79 | |
80ed523f VZ |
80 | This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h |
81 | in the source tree. | |
82 | ||
83 | 10. In the source tree, verify that the version info in RELEASE-DATE, | |
84 | VERSION and libtiff/tiffvers.h is right. | |
85 | ||
86 | 11. 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. | |
8414a40c | 93 | |
8414a40c | 94 | Two files with names tiff-version.tar.gz and tiff-version.zip will |
80ed523f VZ |
95 | be created in the top level build directory. |
96 | ||
97 | 12. In the source tree do | |
98 | ||
99 | 'cvs commit'. | |
100 | ||
101 | 13. In the source tree do | |
102 | ||
103 | cvs tag Release-v4-0-0 | |
104 | ||
105 | (or the appropriate name for the release) | |
106 | ||
107 | 14. Copy release packages from the build tree to the | |
108 | ftp.remotesensing.org ftp site. | |
8414a40c | 109 | |
80ed523f VZ |
110 | scp tiff-*.tar.gz tiff-*.zip \ |
111 | warmerdam@upload.osgeo.org:/osgeo/download/libtiff | |
8414a40c VZ |
112 | |
113 | 15. Announce to list, tiff@lists.maptools.org | |
114 | ||
115 | 16. Update libtiff page on freshmeat with new version announcement. | |
116 | ||
117 |