doc: use gnu-web-doc-update module
[debian/gzip] / README-release
1 Here are most of the steps we (maintainers) follow when making a release.
2
3 * start from a clean, up-to-date git directory.
4
5     git checkout master; git pull
6
7 * Run ./configure && make maintainer-clean
8
9 * Ensure that the desired versions of autoconf, automake, etc.
10   are in your PATH.  See the buildreq list in bootstrap.conf for
11   the complete list.
12
13 * Ensure that you're on "master" with no uncommitted diffs.
14   This should produce no output: git checkout master; git diff
15
16 * Run bootstrap: ./bootstrap
17
18 * Pre-release testing:
19   Ensure that make check syntax-check succeeds.
20
21 * Run "make distcheck"
22
23 * Manually set the date, version number, and [stable/alpha/beta] on
24   line 3 of NEWS, then do e.g.,:
25
26     v=1.3.13
27     pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile)
28     git commit -F <(printf 'version '$v'\n\n* NEWS: Record release date.\n') -a
29     git tag -s -m "$pkg $v" v$v HEAD
30
31 * Run the following to create release tarballs.  Your choice selects the
32   corresponding upload-to destination in the emitted gnupload command.
33   The different destinations are specified in cfg.mk.  See the definitions
34   of gnu_ftp_host-{alpha,beta,stable}.
35
36     # "TYPE" must be stable, beta or alpha
37     make TYPE
38
39 * Test the tarball.  copy it to a few odd-ball systems and ensure that
40   it builds and passes all tests.
41
42 * While that's happening, write the release announcement that you will
43   soon post.
44
45 Once all the builds and tests have passed,
46
47 * Run the gnupload command that was suggested by your "make major" run above.
48
49 * Wait a few minutes (maybe up to 30?) and then use the release URLs to
50   download all tarball/signature pairs and use gpg --verify to ensure
51   that they're all valid.
52
53 * Push the new tag:
54
55     v=$(cat .prev-version)
56     git push origin tag v$v
57
58 * Send the gpg-signed announcement mail, e.g.,
59
60     To: info-gnu@gnu.org
61     Cc: coordinator@translationproject.org, bug-gzip@gnu.org
62     Subject: gzip-1.3.13 released [stable]
63
64 * Announce it on Savannah, too:
65   From here:
66     https://savannah.gnu.org/projects/gzip/
67   click on the "submit news", then write something like the following:
68   (If there is no such button, then enable "News" for the project via
69    the Main -> "Select Features" menu item, or via this link:
70    https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=gzip)
71
72     Subject: gzip-1.3.13 released [stable]
73     The announcement is here:
74       http://article.gmane.org/gmane.comp.gnu.gzip.bugs/258
75
76   Then go here to approve it:
77     https://savannah.gnu.org/news/approve.php?group=gzip
78
79 * After each non-alpha release, update the on-line manual accessible via
80
81     http://www.gnu.org/software/gzip/manual/
82
83   by running the gnu-web-doc-update script.