Instructions for the apreq Release Manager (RM) FreeBSD/Solaris note: use gmake! 1. Create a realease branch: svn cp -m "Prepare for v2.18 release." \ https://svn.apache.org/repos/asf/httpd/apreq/trunk \ https://svn.apache.org/repos/asf/httpd/apreq/branches/v2.18 2. On the BRANCH Edit STATUS, marking the release date /** @page STATUS 2.18 released on . Also add the release date to the top @section in CHANGES: /** @page CHANGES @section v2.18 Changes with libapreq2-2.12 (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.18 release started" STATUS CHANGES include/apreq_version.h 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.18 % svn commit -m "2.18 cycle" 4. On the BRANCH Prep the package for CPAN by running: % ./buildconf && ./configure && make release This will generate a libapreq2-2.18.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. Sign it via gpg: % gpg --detach-sign --armor libapreq2-2.18.tar.gz or pgp: % pgp -sba libapreq2-2.18.tar.gz 7. Make release candidate files available for testing: $ svn co https://dist.apache.org/repos/dist/dev/httpd/libapreq/ apreq-dev-site $ cp libapreq2-2.18.tar.gz* apreq-dev-site $ svn commit -m "libapreq2 2.18 release artifacts" apreq-dev-site and post a candidate announcement to dev@httpd.apache.org. Also, it is strongly recommended that the RM crosspost the candidate announcement to the dev@perl list, to solicit feedback from a much larger audience. Subject: [RELEASE CANDIDATE] libapreq2 2.18 RC\d+ 8. 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. 9. Tag the Release -- from the BRANCH svn mv https://svn.apache.org/repos/asf/httpd/apreq/branches/v2.18 \ https://svn.apache.org/repos/asf/httpd/apreq/tags/v2.18 10. Upload the package, signature and SHA* hash files to dist.apache.org: $ svn co https://dist.apache.org/repos/dist/release/httpd/libapreq/ apreq-dist-site $ cp libapreq2-2.18.tar.gz* apreq-dist-site $ svn commit -m "libapreq2 2.18 release artifacts" Ask another developer to confirm the uploaded signature is ok. % gpg --verify libapreq2-2.18.tar.gz.asc % pgp libapreq2-2.18.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. Wait at least 1 hour for the ASF CDN to pick up the new files. check https://downloads.apache.org/httpd/libapreq/ to see that they have appeared. Then modify the public web site as follows: git clone git@github.com:apache/httpd-site.git httpd-site modify the version numbers in apreq/download.md and push to complete. 12. Mail the announcement from your people.apache.org using build/announcement.pl: % build/announcement.pl $USER@apache.org | sendmail -oi -t -f $USER@apache.org 13. Ask a kind soul on dev@perl.apache.org to handle the CPAN upload. 14. Drink Beer! [Now optional]