| Instructions for the apreq Release Manager (RM) |
| |
| FreeBSD/Solaris note: use gmake! |
| |
| 1. Create a realease branch: |
| |
| svn cp https://svn.apache.org/repos/asf/httpd/apreq/trunk \ |
| https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_09 |
| |
| |
| 2. On the BRANCH |
| Edit STATUS, marking the release date |
| |
| /** @page STATUS |
| |
| 2.09 released on <today's date>. |
| |
| Also add the release date to the top @section in CHANGES: |
| |
| /** @page CHANGES |
| |
| @section v2_09 Changes with libapreq2-2.09 (released ...). |
| |
| And #undef the APREQ_VERSION_IS_DEV macro definition |
| in include/apreq_version.h: |
| |
| * This symbol will be #undef'd for releases. |
| */ |
| #undef APREQ_IS_DEV_VERSION |
| |
| % svn commit -m "2.09 release started" STATUS CHANGES include/apreq_version.h |
| |
| NOTE the revision that you committed. |
| Call it $rS. |
| |
| If you make any ADDITIONAL changes to this branch you'll need to merge them back to the trunk |
| Either now, or when the release cycle is complete (See step 15) |
| |
| 3. On TRUNK: |
| Update CHANGES and STATUS to reflect the start of a new develoment cycle, |
| and run this to update the package version numbers throughout the tree: |
| |
| % build/update_version.pl 2.10 |
| |
| % svn commit -m "2.10 cycle" |
| |
| 4. Prep the package for CPAN by running: |
| |
| % make release |
| |
| This will generate a libapreq2-2.09.tar.gz candidate in the |
| current directory. You should keep this source tree |
| intact to tag the final release. |
| |
| |
| 5. Test the generated file with |
| |
| % make release_test |
| |
| Make sure all perl tests pass. |
| |
| |
| 6. Upload the release candidate to people.apache.org/~username |
| and post a candidate announcement to apreq-dev@. Also, it is |
| strongly recommended that the RM crosspost the candidate |
| announcement to the modperl@ list, to solicit feedback |
| from a much larger audience. |
| |
| |
| 7. Give the mailing list participants 48-72 hours to comment and |
| vote on the candidate. If there is a "majority consensus" |
| (three +1 and more +1s than -1s) among the httpd pmc members, the RM |
| may proceed with the release. |
| |
| |
| 8. Tag the Release -- from the BRANCH |
| |
| svn cp https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_09 \ |
| https://svn.apache.org/repos/asf/httpd/apreq/tags/v2_09 |
| |
| NOTE the Revision that is copied. Call it $rE. |
| It will be in the commit e-mail. |
| |
| 9. Regenerate the release |
| |
| % make release && make release_test |
| |
| Then test and sign it via gpg: |
| |
| % gpg --detach-sign --armor libapreq2-2.09.tar.gz |
| |
| or pgp: |
| |
| % pgp -sba libapreq2-2.09.tar.gz |
| |
| |
| 10. Upload (scp) the package and signature to www.apache.org |
| for distribution: |
| |
| % scp libapreq2-2.09.tar.gz* \ |
| <username>@people.apache.org:/www/www.apache.org/dist/httpd/libapreq/ |
| |
| Ask another developer to confirm the uploaded signature is ok. |
| |
| % gpg --verify libapreq2-2.09.tar.gz.asc |
| % pgp libapreq2-2.09.tar.gz.asc |
| |
| Check that your public key is among those listed in the |
| /www/www.apache.org/dist/httpd/KEYS file. If not, you |
| need to commit the necessary change to KEYS the httpd-dist repos. |
| Then update the website's copy using "cvs co KEYS" in the |
| /www/www.apache.org/dist/httpd/ directory. |
| |
| 11. Verify or get soeone to Verify that you have CPAN karma. |
| Note, discuss getting a group kind of like AMPL in mod_perl land. |
| (Currently, joes@ is active and has karma) |
| |
| 12. Upload the package to CPAN. Doublecheck that the md5 checksum |
| received from PAUSE is correct. |
| |
| 13. Wait ~12-24 hours for the ASF mirrors to pick up the new package, then |
| update the apreq homepage to list the new release in the News section |
| Be sure to update the libapreq2 documentation. For instructions on updating |
| the httpd website, see build/WEBSITE. IMPORTANT: YOU MUST UPDATE |
| download.html TO POINT AT THE NEW RELEASE PACKAGE! |
| |
| 14. Mail the announcement from your people.apache.org account by piping the |
| "CPAN Upload" email acknowledgement (from PAUSE) through build/announcement.pl: |
| |
| % build/announcement.pl $USER@apache.org < CPAN_ack | ssh $USER@people.apache.org "sendmail -oi -t -odq" |
| |
| 15. Once you are SURE, you've merged any ADDITIONAL changes on the BRANCH back to TRUNK, |
| delete the branch: |
| |
| [NOTE, $rS and $rE are the values you noted above] |
| |
| % svn help merge | head -4 |
| merge: Apply the differences between two sources to a working copy path. |
| usage: 1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH] |
| 2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH] |
| 3. merge -r N:M SOURCE[@REV] [WCPATH] |
| |
| svn co https://svn.apache.org/repos/asf/httpd/apreq/trunk |
| cd trunk |
| |
| svn merge https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_09@$rS \ |
| https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_09@$rE |
| |
| svn del https://svn.apache.org/repos/asf/httpd/apreq/branches/v2_09 |
| |
| 16. Drink Beer! |
| |