Making a Source Release

Checklist

  1. Update the README file with important information.
  2. Update the NEWS and CHANGES files with important information.
  3. Update the Breaking changes document.
  4. Update the acinclude.m4 file with version information.

Preparing the Community

Call a vote on the couchdb-dev mailing list asking for a request for comments on the release. Ask all developers to specifically check the NEWS and CHANGES file for anything that has been added in this release.

Preparing the Release

repos="https://svn.apache.org/repos/asf/couchdb"

svn cp $repos/trunk $repos/branches/Y.Y.x -m 'branching Y.Y.x'
svn cp $repos/branches/Y.Y.x $repos/tags/Y.Y.Y -m 'tagging Y.Y.Y'
svn export $repos/tags/Y.Y.Y

You must then use the Y.Y.Y directory to prepare the release.

To build the source for distribution you should then run the following command:

./bootstrap && ./configure && make distsign

If everything was successful you should see the following files sitting in the export directory ready for distribution:

Move the files to the parent directory:

mv apache-couchdb* ..

Then clean the source:

make local-clean

Then bootstrap the source so that it mirrors the tarball:

./bootstrap

Then go to the parent directory and unpack the tarball:

tar -xvzf apache-couchdb*.tar.gz

Then compare the tarball with the boostrapped source:

diff -f apache-couchdb-Y.Y.Y Y.Y.Y

Use your judgment here to figure out if anything is missing, or has been included by mistake.

Upload these to your public_html directory on people.apache.org and make sure they are world readable.

Calling a Vote

Call a vote on the couchdb-dev mailing list:

The Release Manager has the power to abort a vote at any point and for any reason.

Making the Release

Useful Resources