Instructions for the apreq Release Manager (RM)

FreeBSD note: use gmake!

1. Prep the package for CPAN by running:

        % make release

   This will generate a libapreq2-2.XX.tar.gz candidate in the 
   current directory.   You should keep this source tree
   intact to tag the final release.


2. Test the generated file with

        % make release_test

   Make sure all perl tests pass.


3. 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.


4. 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.


5. Edit STATUS, marking the release date

       /** @page STATUS

       2.XX released on <today's date>.


   Also add the release date to the top @section in CHANGES:

       /** @page CHANGES

       @section v2_XX Changes with libapreq2-2.XX (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


   Now commit the changes and tag the tree (tr/0-9a-zA-Z/_/c in the
   version number)

       % svn commit -m "2.XX released." STATUS CHANGES include/apreq_version.h
       % svn cp https://svn.apache.org/repos/asf/httpd/apreq/trunk \
                https://svn.apache.org/repos/asf/httpd/apreq/tags/v2_XX

6. Regenerate the release 

        % make release && make release_test

   Then test and sign it via gpg:

        % gpg --detach-sign --armor libapreq2-2.XX.tar.gz

   or pgp:

        % pgp -sba libapreq2-2.XX.tar.gz


7. Upload (scp) the package and signature to www.apache.org
   for distribution:

        % scp libapreq2-2.XX.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.XX.tar.gz.asc
        % pgp libapreq2-2.XX.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.

8a. 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)

8b. Upload the package to CPAN. Doublecheck that the md5 checksum
   received from PAUSE is correct.

9. 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!


10. Mail the announcement from your cvs.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"


11. 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 $VERSION+1
