Abstract

A guide for PMC members or other interested parties to help judge whether a specific set of Apache Lucy release artifacts deserves a +1 vote of approval.

Validate ReleasePrep

Verify that every task listed on our ReleasePrep wiki page has been completed.

Signatures and sums

Verify that the Release Manager has properly published their PGP key, and that the PGP signature checks out:

$ # Obtain the KEYS file from the dist directory.
$ curl -O http://www.apache.org/dist/lucy/KEYS
$ # Add the keys and verify the signature.
$ pgpk -a KEYS
$ pgpk apache-lucy-X.Y.Z.tar.gz.asc
$ # or...
$ pgp -ka KEYS
$ pgp apache-lucy-X.Y.Z.tar.gz.asc
$ # or...
$ gpg --import KEYS
$ gpg --verify apache-lucy-X.Y.Z.tar.gz.asc

Confirm that the MD5 and SHA checksums are correct as well. If you have md5sum and/or shasum installed on your system, you can use them to perform automated verification:

$ md5sum -c apache-lucy-X.Y.Z.tar.gz.md5
$ shasum -c apache-lucy-X.Y.Z.tar.gz.sha

Otherwise, you can regenerate the sums yourself and eyeball them to confirm that they are the same:

$ # Should be identical sums, though the format may differ.
$ cat apache-lucy-X.Y.Z.tar.gz.md5
$ gpg --print-md MD5 apache-lucy-X.Y.Z.tar.gz
$ cat apache-lucy-X.Y.Z.tar.gz.sha
$ gpg --print-md SHA512 apache-lucy-X.Y.Z.tar.gz

Building and testing

Decompress the Lucy archive and follow the instructions in INSTALL for building Lucy's Perl bindings, up to and including the "test" target. All tests must pass.

Perl 5.10.0 or later is recommended.

Downstream artifacts

Our build scripts have targets for generating artifacts for certain major downstream distribution systems (e.g. CPAN). We must build, test, and inspect each set of downstream artifacts, ensure that all tests pass and that all crucial files are in place:

  • README
  • INSTALL
  • LICENSE
  • NOTICE
  • CHANGES

All downstream artifacts must be generated from a pristine, newly unpacked tarball.

Perl/CPAN

Here's a recipe for building and testing the CPAN artifacts:

tar -zxf apache-lucy-X.Y.Z.tar.gz
cd apache-lucy-X.Y.Z/
cd perl/
perl Build.PL
./Build dist
tar -zxf Lucy-X.Y.Z.tar.gz
cd Lucy-X.Y.Z/
perl Build.PL
./Build test
  • No labels