]>
Commit | Line | Data |
---|---|---|
1 | HOWTO-RELEASE: | |
2 | ||
3 | Notes on releasing. | |
4 | ||
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 | |
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 | ||
22 | 1. Commit any unsaved changes. | |
23 | ||
24 | 2. 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 | ||
28 | 3. Update html/index.html to refer to this new page as the current release. | |
29 | ||
30 | 4. 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 | ||
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. | |
62 | ||
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: | |
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 | ||
76 | 9. 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 | ||
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. | |
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 | ||
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. | |
109 | ||
110 | scp tiff-*.tar.gz tiff-*.zip \ | |
111 | warmerdam@upload.osgeo.org:/osgeo/download/libtiff | |
112 | ||
113 | 15. Announce to list, tiff@lists.maptools.org | |
114 | ||
115 | 16. Update libtiff page on freshmeat with new version announcement. | |
116 | ||
117 |