1Instructions for the apreq Release Manager (RM)
2
3FreeBSD/Solaris note: use gmake!
4
51. Create a realease branch:
6
7    svn cp https://svn.apache.org/repos/asf/httpd/apreq/trunk \
8           https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_12
9
10
112. On the BRANCH
12    Edit STATUS, marking the release date
13
14       /** @page STATUS
15
16       2.12 released on <one week from today's date>.
17
18   Also add the release date to the top @section in CHANGES:
19
20       /** @page CHANGES
21
22       @section v2_12 Changes with libapreq2-2.12 (released ...).
23
24   And #undef the APREQ_VERSION_IS_DEV macro definition
25   in include/apreq_version.h:
26
27       *  This symbol will be #undef'd for releases.
28       */
29       #undef APREQ_IS_DEV_VERSION
30
31       % svn commit -m "2.12 release started" STATUS CHANGES include/apreq_version.h
32
333. On TRUNK:
34    Update CHANGES and STATUS to reflect the start of a new develoment cycle,
35    and run this to update the package version numbers throughout the tree:
36
37    % build/update_version.pl 2.13
38
39    % svn commit -m "2.13 cycle"
40
414. Prep the package for CPAN by running:
42
43        % make release
44
45   This will generate a libapreq2-2.12.tar.gz candidate in the
46   current directory.   You should keep this source tree
47   intact to tag the final release.
48
49
505. Test the generated file with
51
52        % make release_test
53
54   Make sure all perl tests pass.
55
566. Sign it via gpg:
57
58        % gpg --detach-sign --armor libapreq2-2.12.tar.gz
59
60   or pgp:
61
62        % pgp -sba libapreq2-2.12.tar.gz
63
647. Upload the release candidate to people.apache.org/~username
65   and post a candidate announcement to apreq-dev@. Also, it is
66   strongly recommended that the RM crosspost the candidate
67   announcement to the modperl@ list, to solicit feedback
68   from a much larger audience.
69
70   Subject: [RELEASE CANDIDATE] libapreq2 2.12 RC\d+
71
728. Give the mailing list participants 48-72 hours to comment and
73   vote on the candidate.  If there is a "majority consensus"
74   (three +1 and more +1s than -1s) among the httpd pmc members, the RM
75   may proceed with the release.
76
77
789. Tag the Release -- from the BRANCH
79
80    svn mv https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_12 \
81           https://svn.apache.org/repos/asf/httpd/apreq/tags/v2_12
82
8310. Upload (scp) the package and signature to www.apache.org
84   for distribution:
85
86        % scp libapreq2-2.12.tar.gz* \
87          $USER@people.apache.org:/www/www.apache.org/dist/httpd/libapreq/
88
89   Ask another developer to confirm the uploaded signature is ok.
90
91        % gpg --verify libapreq2-2.12.tar.gz.asc
92        % pgp libapreq2-2.12.tar.gz.asc
93
94   Check that your public key is among those listed in the
95   /www/www.apache.org/dist/httpd/KEYS file.   If not, you
96   need to commit the necessary change to KEYS the httpd-dist repos.
97   Then update the website's copy using "cvs co KEYS" in the
98   /www/www.apache.org/dist/httpd/ directory.
99
10011. Verify or get soeone to Verify that you have CPAN karma.
101    Note, discuss getting a group kind of like AMPL in mod_perl land.
102    (Currently, joes@ and pgollucci@ are active and have karma)
103
10412. Upload the package to CPAN. Doublecheck that the md5 checksum
105   received from PAUSE is correct.
106
10713. Wait ~12-24 hours for the ASF mirrors to pick up the new package, then
108   update the apreq homepage to list the new release in the News section
109   Be sure to update the libapreq2 documentation. For instructions on updating
110   the httpd website, see build/WEBSITE.  IMPORTANT: YOU MUST UPDATE
111   download.html TO POINT AT THE NEW RELEASE PACKAGE!
112
11314. Mail the announcement from your people.apache.org account by piping the
114    "CPAN Upload" email acknowledgement (from PAUSE) through build/announcement.pl:
115
116    % build/announcement.pl $USER@apache.org < CPAN_ack | ssh $USER@people.apache.org "sendmail -oi -t -odq"
117
11815. Drink Beer!
119
120