Author: luc
Date: Sun Apr  7 12:47:32 2013
New Revision: 1465382

URL: http://svn.apache.org/r1465382
Log:
Updated [math] specific release howto.

 - added references to the general Apache Commons release howtos,
 - changed the staging area of the distribution files to the Apache
   servers (and not the Nexus repository),
 - added the URL of the site for direct subversion control

Modified:
    commons/proper/math/trunk/doc/release/release.howto.txt

Modified: commons/proper/math/trunk/doc/release/release.howto.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/doc/release/release.howto.txt?rev=1465382&r1=1465381&r2=1465382&view=diff
==============================================================================
--- commons/proper/math/trunk/doc/release/release.howto.txt (original)
+++ commons/proper/math/trunk/doc/release/release.howto.txt Sun Apr  7 12:47:32 
2013
@@ -15,7 +15,10 @@
 # limitations under the License.
 
 This document is meant as a step-by-step recipe to achieve the release of
-the Commons Math component.
+the Commons Math component. Note that more general instructions valid
+for all components, including [math], are available on the Apache Commons
+main site: at "http://commons.apache.org/releases/prepare.html"; and
+"http://commons.apache.org/releases/release.html";.
 
 The files "settings-security.xml" and "settings.xml" are minimal examples
 of files used by maven to pick up authentication credentials needed to
@@ -59,7 +62,7 @@ The "pom.xml" on the SVN server must alw
 versions of the library, i.e. the tag "<version>" should end with the string
 "-SNAPSHOT":
 
-    <version>3.3-SNAPSHOT</version>
+    <version>3.2-SNAPSHOT</version>
 
 Assuming that the release version will be "3.2", modify the "<version>" tag to
 read:
@@ -93,7 +96,7 @@ This file is updated automatically by ru
 
 (4)
 The "release notes" file will be created by gathering all the changes
-collected during develoment in the file "src/changes/changes.xml".
+collected during development in the file "src/changes/changes.xml".
 Create it by running:
 
   $ mvn changes:announcement-generate \
@@ -107,18 +110,19 @@ which you must now copy to the appropria
 
 Alternately to the above two commands, you can rely on the "release-notes"
 profile defined in the "commons-parent" project (which is inherited by the
-"commons-math project) and run:
+"commons-math project) and run the following command, which will directly 
create
+the RELEASE-NOTES.txt file:
 
   $ mvn -Prelease-notes changes:announcement-generate
 
-Commit the updated file to SVN:
+Check the file for weird line breaks, and commit the updated file to SVN:
 
   $ svn commit RELEASE-NOTES.txt
 
 
 (5)
 Create the tag that will contain the whole source of this release candidate.
-First, make sure that the working is up-to-date:
+First, make sure that the workspace is up-to-date:
 
   $ svn up
 
@@ -154,30 +158,58 @@ and follow the instructions at the top o
 
 
 (8)
-Create and transfer the artefacts to the Nexus server (a.k.a. "deploy").
+Create and transfer the artifacts to the Nexus server (a.k.a. "deploy").
 
-Because the artefacts must be cryptographically signed, this step requires that
+Because the artifacts must be cryptographically signed, this step requires that
 a profile named "release" exists in the maven "settings.xml" configuration file
 which will contain the identifier of your GPG key (cf. sample "settings.xml" 
 file).
 
 You can then run
 
-  $ mvn -DskipTests=true clean deploy -Prelease
+  $ mvn clean deploy -Prelease
 
-which will transfer the artefacts to the Nexus repository located at
+which will transfer the artifacts to the Nexus repository located at
   https://repository.apache.org/index.html#stagingRepositories
 
-As a measure of sanity check, the "staging" (i.e. non official) repository must
-be manually "closed" before other people review the deliverables just created.
-[Note: Nexus automatically adds "md5" and "sha1" checksums files to the "asc"
-files (cryptographic signature). These "signatures on signatures" are spurious
-and have to be manually removed from Nexus staging area.]
+This process transfers more files than really needed in the the "staging" (i.e.
+non official) maven repository. The files expected in the repository are
+commons-math3-3.2.pom, commons-math3-3.2.jar, commons-math3-3.2.javadoc,
+commons-math3-3.2.sources, commons-math3-3.2.test-sources 
commons-math3-3.2.tests,
+the associated fingerprints (<file-name>.md5 and <file-name>.sha1) and the 
signatures
+<file-name>.asc. Note that Nexus automatically adds "md5" and "sha1" checksums 
files
+to the "asc" files (cryptographic signature). These fingerprints on signatures 
are
+spurious and have to be manually removed from Nexus staging area. The process 
also
+transfers the complete source and binaries distributions files
+commons-math3-3.2.-bin.tar.gz, commons-math3-3.2.-bin.zip, 
commons-math3-3.2.-src.tar.gz,
+commons-math3-3.2.-src.zip as well as the associated .md5 and .sha1 
fingerprints and the
+.asc signatures. These are not really maven artifacts but rather distribution 
archives,
+and they belong elsewhere, so they must also been removed from the Nexus 
staging
+repository.
+
+As a measure of sanity check,  repository must be manually "closed" before 
other
+people review the deliverables just created.
 How to "close" the staging repository it is explained at this page:
   https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository
 
-
 (9)
+Upload the other distribution files to the Apache servers.
+
+The archive files have been created during the previous step. They have been 
put
+in the .m2 local repository. The RELEASE_NOTES.txt file hase been created 
earlier
+and is still in the checkout directory of the release candidate. All these 
files
+can be uploaded to the development area of the Apache dist server using the
+following commands:
+
+ $ cd /tmp
+ $ svn checkout https://dist.apache.org/repos/dist/dev/commons/math
+ $ cp /.m2/repository/org/apache/commons/commons-math/3.2*-bin.* binaries
+ $ cp /.m2/repository/org/apache/commons/commons-math/3.2*-src.* source
+ $ cp <path-to-the-RC-workspace>/RELEASE-NOTES.txt .
+ $ svn commit -m "Creating distribution files for 3.2 RC1"
+
+
+(10)
 Web site testing (a.k.a "staging") of the generated web site (containing the
 API documentation, etc.)
 
@@ -199,7 +231,7 @@ The web site will be available for revie
   http://people.apache.org/builds/commons/math/3.2/RC1
 
 
-(10)
+(11)
 Call to vote by sending a message to the "dev" ML with subject
 "[VOTE][RC1] Release Commons Math 3.2". You can use the following example as
 a starting point, replacing the URLs with the appropriate ones:
@@ -210,7 +242,10 @@ Tag:
 Site:
   http://people.apache.org/builds/commons/math/3.2/RC1/
 
-Binaries:
+Distribution files:
+  https://dist.apache.org/repos/dist/dev/commons/math/
+
+Maven artifacts:
   
https://repository.apache.org/content/repositories/orgapachecommons-051/org/apache/commons/commons-math3/3.2/
 
 [ ] +1 Release it.
@@ -222,85 +257,65 @@ This vote will close in 72 hours.
 ----------
 
 
-(11)
+(12)
 If some blocking problems have been found in the release deliverables, cancel
 the vote by sending a "[CANCEL][VOTE]" message to the "dev" ML.
 After correcting the problems, you'll likely have to start again from step 3,
 4 or 5.
 
 
-(12)
+(13)
 After at least 72 hours have elapsed, send a "[VOTE][RESULT]" mail to
 summarize the outcome of the vote. This should tally the votes cast,
 and state which are binding (PMC members).
 
 
-(13)
-The artefacts must be copied to the distribution area on the ASF web server.
-
-The following actions must be performed when after login into your 
-"people.apache.org" account.
-
- (a) Create a new directory (e.g. "cm-3.2") and "cd" into it.
-
- (b) Retrieve the files from the Nexus server:
-
-      $ wget -r -l 1 -np -nH -nd -nv \
-          -e robots=off --wait 10 --no-check-certificate \
-          
https://repository.apache.org/content/repositories/orgapachecommons-051/org/apache/commons/commons-math3/3.2/
-
- (c) Verify the checksum of each of the retrieved files. A possibility is to
-     check out the tools from
-       https://svn.apache.org/repos/private/committers/tools/releases
-     and use the "verify_sigs.sh" found in there.
-
- (d) Change the "group owner" to "commons":
-
-      $ chgrp commons commons-math3-*
-
- (e) Change to the directory of the component and move the files to their 
position.
-
-      $ cd /www/www.apache.org/dist/commons/math/
-
-     Source files go to the "source" subdirectory:
-
-      $ mv -i ~/cm-3.2/commons-math3-3.2-src* source
-
-     Binary files go to the "binaries" subdirectory:
-
-      $ mv -i ~/cm-3.2/commons-math3-3.2-bin* binaries
-
-  (f) Check that the files permissions are all set to "-rw-rw-r--" and that
-      the group owner is "commons".
-
-  (g) Update the "README.html" file to reflect the new release and copy it
-      to both "source" and "binaries" subdirectories.
-
-  (h) Replace the "RELEASE-NOTES.txt" with the new one, e.g. using:
-
-        $ wget --no-check-certificate 
https://svn.apache.org/repos/asf/commons/proper/math/tags/MATH_3_2_RC1/RELEASE-NOTES.txt
-        $ mv -i RELEASE-NOTES.txt.1 RELEASE-NOTES.txt
-
-  (i) XXX There are no "current" symlinks in the "commmons/math" subdir
-          Maybe that this is not mandatory (?)
-      If this is your first release, you'll probably have to check out the
-      release scripts. In your home directory, run the command:
+(14)
+The distribution files must be moved from the development area to the release
+area of the Apache dist server:
 
-      $ svn co https://svn.apache.org/repos/private/committers/tools/releases/
+$ svnmucc -U https://dist.apache.org/repos/dist \
+          mv dev/commons/math/RELEASE-NOTES.txt 
release/commons/math/RELEASE-NOTES.txt \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.tar.gz 
release/commons/math/binaries/commons-math-3.2-bin.tar.gz \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.tar.gz.asc 
release/commons/math/binaries/commons-math-3.2-bin.tar.gz.asc \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.tar.gz.md5 
release/commons/math/binaries/commons-math-3.2-bin.tar.gz.md5 \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.tar.gz.asc 
release/commons/math/binaries/commons-math-3.2-bin.tar.gz.asc \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.zip 
release/commons/math/binaries/commons-math-3.2-bin.zip \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.zip.asc 
release/commons/math/binaries/commons-math-3.2-bin.zip.asc \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.zip.md5 
release/commons/math/binaries/commons-math-3.2-bin.zip.md5 \
+          mv dev/commons/math/binaries/commons-math-3.2-bin.zip.asc 
release/commons/math/binaries/commons-math-3.2-bin.zip.asc \
+          mv dev/commons/math/source/commons-math-3.2-src.tar.gz 
release/commons/math/source/commons-math-3.2-src.tar.gz \
+          mv dev/commons/math/source/commons-math-3.2-src.tar.gz.asc 
release/commons/math/source/commons-math-3.2-src.tar.gz.asc \
+          mv dev/commons/math/source/commons-math-3.2-src.tar.gz.md5 
release/commons/math/source/commons-math-3.2-src.tar.gz.md5 \
+          mv dev/commons/math/source/commons-math-3.2-src.tar.gz.asc 
release/commons/math/source/commons-math-3.2-src.tar.gz.asc \
+          mv dev/commons/math/source/commons-math-3.2-src.zip 
release/commons/math/source/commons-math-3.2-src.zip \
+          mv dev/commons/math/source/commons-math-3.2-src.zip.asc 
release/commons/math/source/commons-math-3.2-src.zip.asc \
+          mv dev/commons/math/source/commons-math-3.2-src.zip.md5 
release/commons/math/source/commons-math-3.2-src.zip.md5 \
+          mv dev/commons/math/source/commons-math-3.2-src.zip.asc 
release/commons/math/source/commons-math-3.2-src.zip.asc \
+          -m "Publish commons-math 3.2 Release"
 
 
-(13)
-Release (a.k.a. "promote") the artefacts on the Nexus server, as shown here:
+(15)
+Release (a.k.a. "promote") the artifacts on the Nexus server, as shown here:
   https://docs.sonatype.org/display/Repository/Releasing+a+Staging+Repository
 
 
-(14)
+(16)
 Publish the web site. From your local working copy of the tag, run the command:
 
   $ mvn site-deploy
 
+You may want to adjust manually some parts like fixing broken relative links or
+copying the content of the current apidocs to javadocs/api-3.2. In order to do
+this, you have to check out the production site using svn, make your changes 
locally
+and commit the changes back to the server.
 
-(15)
+$ svn checkout 
https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-math
+$ <fix the site>
+$ svn commit -m "fixing broken links"
+
+
+(17)
 Copy the the final RC tag to the official tag:
   $ svn copy \
     https://svn.apache.org/repos/asf/commons/proper/math/tags/MATH_3_2_RC1 \
@@ -308,7 +323,7 @@ Copy the the final RC tag to the officia
     https://svn.apache.org/repos/asf/commons/proper/math/tags/MATH_3_2
 
 
-(16)
+(18)
 Allow for the web site mirrors to be updated (possibly several hours); then
 send (from your apache account) a release announcement to the following ML:
   [email protected]


Reply via email to