1 HOWTO-RELEASE: |
1 HOWTO-RELEASE: |
2 |
2 |
3 Notes on releasing. You will need appropriate autoconf, automake and libtool |
3 Notes on releasing. |
4 utilities to release a package. |
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.6 or later is needed in order to avoid bugs in m4. These |
|
11 packages may 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 |
|
17 Release builds should only be done on a system with a functioning |
|
18 and correctly set system clock and on a filesystem which accurately |
|
19 records file update times. Use of GNU make is recommended. |
5 |
20 |
6 1. Commit any unsaved changes. |
21 1. Commit any unsaved changes. |
7 |
22 |
8 2. "make clean" |
23 2. Create html/vX.X.html. Take ChangeLog entries and html-ify in there. |
9 |
|
10 3. Create html/vX.X.html. Take ChangeLog entries and html-ify in there. |
|
11 Easist thing to do is take html/vX.(X-1).html and use it as a template. |
24 Easist thing to do is take html/vX.(X-1).html and use it as a template. |
12 Add that file to the list of EXTRA_DIST files in the html/Makefile.am. |
25 Add that file to the list of EXTRA_DIST files in the html/Makefile.am. |
13 |
26 |
14 3.5. Update html/index.html to refer to this new page as the current release. |
27 3. Update html/index.html to refer to this new page as the current release. |
15 |
28 |
16 4. Increment version in configure.ac. Put 'alpha' or 'beta' after |
29 4. Increment the release version in configure.ac. Put 'alpha' or |
17 the version, if applicable. |
30 'beta' after the version, if applicable. For example: |
18 |
31 |
19 eg. |
32 3.9.1 |
20 3.5.7 |
33 or |
21 or |
34 3.9.1beta |
22 3.5.8beta |
|
23 |
35 |
24 Version should be updated in two places: in the second argument of the |
36 Version should be updated in two places: in the second argument of the |
25 AC_INIT macro and in LIBTIFF_xxx_VERSION variables. |
37 AC_INIT macro and in LIBTIFF_xxx_VERSION variables. |
26 |
38 |
27 5. autoconf |
39 5. Add an entry to Changelog similar to: |
28 |
40 |
29 6. sh configure |
41 * libtiff 3.9.1 released. |
30 |
42 |
31 7. make release -- this will update "RELEASE-DATE" and "VERSION" in the top |
43 6. In the source tree do |
32 level dir, and libtiff/tiffvers.h. |
|
33 |
44 |
34 8. Please verify that the version info in RELEASE-DATE, VERSION and |
45 ./autogen.sh |
35 libtiff/tiffvers.h is right. |
|
36 |
46 |
37 9. make; make distcheck (to test). |
47 This step may be skipped if you have already been using a |
|
48 maintainer build with current autoconf, automake, and libtool |
|
49 packages. It is only needed when updating tool versions. |
38 |
50 |
39 10. make distclean |
51 7. It is recommended (but not required) to build outside of the source |
|
52 tree so that the source tree is kept in a pristine state. This |
|
53 also allows sharing the source directory on several networked |
|
54 systems. For example: |
40 |
55 |
41 11. cvs commit |
56 mkdir libtiff-build |
|
57 cd libtiff-build |
|
58 /path/to/libtiff/configure --enable-maintainer-mode |
42 |
59 |
43 12. cvs tag Release-v3-5-7 (or the appropriate name for the release) |
60 otherwise do |
44 |
61 |
45 13. configure; make dist |
62 ./configure --enable-maintainer-mode |
|
63 |
|
64 8. In the build tree do |
|
65 |
|
66 make release |
|
67 |
|
68 This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h |
|
69 in the source tree. |
|
70 |
|
71 9. In the source tree, verify that the version info in RELEASE-DATE, |
|
72 VERSION and libtiff/tiffvers.h is right. |
|
73 |
|
74 10. In the build tree do |
|
75 |
|
76 make |
|
77 make distcheck |
|
78 |
|
79 If 'make distcheck' fails, then correct any issues until it |
|
80 succeeds. |
|
81 |
46 Two files with names tiff-version.tar.gz and tiff-version.zip will |
82 Two files with names tiff-version.tar.gz and tiff-version.zip will |
47 be created in the top level package directory. |
83 be created in the top level build directory. |
48 |
84 |
49 14. Copy to ftp.remotesensing.org ftp site. |
85 11. In the source tree do |
50 scp tiff-*.tar.gz ftp.remotesensing.org:/var/ftp/libtiff/ |
|
51 scp tiff-*.zip ftp.remotesensing.org:/var/ftp/libtiff/ |
|
52 |
86 |
53 15. Announce to list, tiff@lists.maptools.org |
87 'cvs commit'. |
54 |
88 |
55 16. Update libtiff page on freshmeat with new version announcement. |
89 12. In the source tree do |
|
90 |
|
91 cvs tag Release-v3-9-1 |
|
92 |
|
93 (or the appropriate name for the release) |
|
94 |
|
95 13. Copy release packages from the build tree to the |
|
96 ftp.remotesensing.org ftp site. |
|
97 |
|
98 scp tiff-*.tar.gz tiff-*.zip \ |
|
99 frankw@upload.osgeo.org:/osgeo/download/libtiff |
|
100 |
|
101 14. Announce to list, tiff@lists.maptools.org |
|
102 |
|
103 15. Update libtiff page on freshmeat with new version announcement. |
56 |
104 |
57 |
105 |