Author: hwright
Date: Tue Jun 28 13:56:02 2011
New Revision: 1140622

URL: http://svn.apache.org/viewvc?rev=1140622&view=rev
Log:
Release docs: Create a new section about "Creating a release" and include
the section on signing releases in it.  Update to reference various ASF docs
and to reflect our current procedures.

* publish/docs/community-guide/releasing.part.html
  (preface): Add a paragraph referencing ASF docs.
  (release-creating): New section.
  (tarball-signing): Fold into release-creating, and add a couple of paragraphs
    about why signing releases is important.

Modified:
    subversion/site/publish/docs/community-guide/releasing.part.html

Modified: subversion/site/publish/docs/community-guide/releasing.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/releasing.part.html?rev=1140622&r1=1140621&r2=1140622&view=diff
==============================================================================
--- subversion/site/publish/docs/community-guide/releasing.part.html (original)
+++ subversion/site/publish/docs/community-guide/releasing.part.html Tue Jun 28 
13:56:02 2011
@@ -26,6 +26,12 @@ This script can be used to perform most 
 in the release process.  Run it with the <tt>-h</tt> option to get more
 information.</p>
 
+<p>In addition to the following project-specific guidelines, aspiring release
+managers may also want to read up on the general
+<a href="http://www.apache.org/dev/release.html";>Apache release policies</a>.
+They can seem a bit patchwork at times, but give a good idea of general
+best practice and how Subversion fits in the larger ASF ecosystem.</p>
+
 <div class="h2" id="release-process">
 <h2>Subversion release process
   <a class="sectionlink" href="<!--#echo var="GUIDE_RELEASING_PAGE" 
-->#release-process"
@@ -574,28 +580,63 @@ voting, are always kept on the main rele
 
 </div> <!-- release-process -->
 
+<div class="h2" id="release-creating">
+<h2>Creating a Subversion release
+  <a class="sectionlink" href="<!--#echo var="GUIDE_RELEASING_PAGE" 
-->#release-creating"
+    title="Link to this section">&para;</a>
+</h2>
 
-<div class="h2" id="tarball-signing">
-<h2>Signing source distribution packages (a.k.a tarballs)
+<div class="h3" id="tarball-signing">
+<h3>Signing source distribution packages (a.k.a tarballs)
   <a class="sectionlink" href="<!--#echo var="GUIDE_RELEASING_PAGE" 
-->#tarball-signing"
     title="Link to this section">&para;</a>
-</h2>
+</h3>
 
-<p>Before a release or release candidate is officially made public, it is
-made available in a temporary location for committers to test and sign.
-The point is to have the tarballs tested on more systems than just that of the
-person who rolled the release.  When there are three signatures from full
-committers for each of the <tt>.tar.bz2</tt>, <tt>.tar.gz</tt> and
-<tt>.zip</tt> files, the release (candidate) can go public.</p>
+<p>Because Subversion releases are distributed through the 
+<a href="http://www.apache.org/dev/mirrors.html";>ASF mirror network</a>, it
+is important that end-users be able to verify the authenticity of the source
+code packages they download.  Checksums are sufficient to detect corruption
+in the download process, but to prevent a malicious individual or mirror
+operator from distributing replacement packages, each source code package
+must be
+<a href="http://www.apache.org/dev/release-signing.html";>cryptographically
+signed</a> by members of the Subversion PMC.  These
+signatures are done using each committer's private PGP key, and are then
+published with the release so that end users can verify the integrity of the
+downloaded packages.</p>
+
+<p>When creating the initial set of tarballs, the release manager will also
+create the first set of signatures.  While the tarballs themselves may be
+built on <tt>people.apache.org</tt>, it is important that the signatures are
+<em>not</em> generated there.  Signing tarballs requires a private key, and
+storing private keys on ASF hardware is <em>strongly discouraged</em>.  After
+signing the tarballs (using the process below) the release manager should
+upload the signatures to the preliminary distribution location, and place them
+in the same directory as the tarballs.</p>
+
+<p>Before a release is officially made public, it must receive three +1 votes
+from members of the Subversion PMC.  In addition, as a matter of project
+policy, we require testing and signatures from PMC members on <em>each</em>
+of the major platforms we support: Windows and *nix.  Members of the PMC,
+as well as enthusiastic community members are encourages to download the
+tarballs from the preliminary distribution location, run the tests, and then
+provide their signatures.  The public keys for these signatures should be
+included in the ASF LDAP instance through
+<a href="https://id.apache.org/";>id.apache.org</a>.  (A list of the
+<a href="https://people.apache.org/keys/group/subversion-pmc.asc";>current
+public keys</a> for members of the Subversion PMC is autogenerated from LDAP
+each day.)</p>
 
 <p>Signing a tarball means that you assert certain things about it.  When
-sending your signature (see below), indicate in the mail what steps
-you've taken to verify that the tarball is correct.  Running
-<tt>make check</tt> over all RA layers and FS backends is a good idea,
-as well as building and testing the bindings.</p>
-
-<p>After having extracted and tested the tarball, you should sign it using
-<a href="http://www.gnupg.org";>gpg</a>.  To do so, use a command like:</p>
+announcing your signature, indicate in the mail what steps you've taken to
+verify that the tarball is correct, such as verifying the contents against
+the proper tag in the repository.  Running <tt>make check</tt> over all RA
+layers and FS backends is also a good idea, as well as building and testing
+the bindings.</p>
+
+<p>After having extracted and tested the tarball, you should sign by creating
+an armored detached signature using <a href="http://www.gnupg.org";>gpg</a>.
+To do so, use a command like:</p>
 
 <pre>
     gpg -ba subversion-1.3.0-rc4.tar.bz2
@@ -618,7 +659,7 @@ to download and test it separately.  The
 
 <p>The resulting file should be identical to the file generated by the
 release manager, and thus can be signed as described above.
-To verify that the files are identical, you may use either the MD5 checksums
+To verify that the files are identical, you may use either the SHA1 checksums
 or the release manager's signature, both of which should be provided with the
 tarballs.</p>
 
@@ -629,6 +670,8 @@ manager.</p>
 
 </div> <!-- tarball-signing -->
 
+</div> <!-- release-creating -->
+
 
 <div class="h2" id="custom-releases">
 <h2>Custom releases


Reply via email to