You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2006/10/10 13:26:21 UTC

svn commit: r454706 - /spamassassin/branches/3.1/build/README

Author: jm
Date: Tue Oct 10 04:26:21 2006
New Revision: 454706

URL: http://svn.apache.org/viewvc?view=rev&rev=454706
Log:
fix some bugs in build procedure; the '3.1.X RELEASED' commit was never working, and the website-update step had some no-ops and obscure messages in it.  backmerge some changes from 3.2.0 trunk regarding spec file updating.  update procedure to match what we're actually doing these days re the announce mail, tarball voting, and the voting requirements.  add note about new PAUSE behaviour.  adopt new means of editing the announce mail, and keeping it in SVN

Modified:
    spamassassin/branches/3.1/build/README

Modified: spamassassin/branches/3.1/build/README
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.1/build/README?view=diff&rev=454706&r1=454705&r2=454706
==============================================================================
--- spamassassin/branches/3.1/build/README (original)
+++ spamassassin/branches/3.1/build/README Tue Oct 10 04:26:21 2006
@@ -39,6 +39,14 @@
 
     PATH=$HOME/sabuildtools/perl584/bin:$HOME/sabuildtools/bin:$PATH
 
+- Run "svn status" to ensure you're building/releasing from a pristine
+  checkout:
+
+    svn status
+
+  (It should return no text; any files marked "M" have been locally
+  modified, and should be "svn revert"ed before you continue.)
+
 - edit lib/Mail/SpamAssassin.pm and comment the $IS_DEVEL_BUILD
   line.   Ensure the correct version number is present in $VERSION
   and $EXTRA_VERSION.
@@ -52,6 +60,9 @@
   then 'svn update' in the release account -- since I think it
   builds from a read-only checkout.]
 
+- check "spamassassin.spec" has the right version number in the
+  "%define real_version" line.  Fix if not.
+
 - Ensure the new version number takes hold:
 
     make clean ; perl Makefile.PL < /dev/null ; make
@@ -82,15 +93,15 @@
 
 - Check in the updated Changes file.
 
-    svn commit -m "preparing to release X.Y.Z" Changes
+    svn commit -m "preparing to release X.Y.Z"
 
 - SVN tag the release files.  This is done using "svn copy".
   For a maintainance release (x.y.1, x.y.2):
 
     repo=https://svn.apache.org/repos/asf/spamassassin
-    svn copy -m "creating tag for release 3.0.1" \
-	$repo/branches/3.0 \
-	$repo/tags/spamassassin_release_3_0_1
+    svn copy -m "creating tag for release 3.1.7" \
+	$repo/branches/3.1 \
+	$repo/tags/spamassassin_release_3_1_7
 
   For a trunk release (x.y.0):
 
@@ -132,43 +143,57 @@
 
 - test the tar.gz and zip files!  redo until they work!! ;)
 
-- Propose a release, and post the URL and md5sums/sha1sums to the
-  dev list.  Once you've got 2 committer +1's, in addition to your own,
-  carry on:
+- Write the release announcement mail!  This is a simple matter of copying
+  the previous release's announcement, updating the version numbers and
+  links, fixing the MD5 and SHA1 checksums in this mail, and summarising
+  the important changes from the Changes file.
+
+    cp build/announcements/3.1.7.txt build/announcements/3.1.8.txt
+    svn add !$
+    vi !$
+
+- (for any rc, prerelease, or full release) Place the tarballs in a
+  discreet location (discreet means not linked from downloads, but
+  included in the vote mail) and request a vote on the development mailing
+  list to make the release.  Post the URL, md5sums/sha1sums, and proposed
+  release announcement mail.  
+  
+  Three +1 votes are required to make the release official.  The release
+  manager (that's you) may vote as well.  Once there are three or more +1
+  votes, you may proceed.
+
+- (for a full release) You need 3 +1's from PMC members.
 
 - SVN commit the release files, including 'Changes':
 
 	svn commit -m "X.Y.Z RELEASED"
 
-- Now, start the new development codebase.  For minor updates of a 2.x
-  tree (e.g. 2.x1, 2.x2), you don't need to branch; for major updates
-  (2.x0) you should use a new development branch, off the trunk.
+- [X.Y.0 RELEASES ONLY]: Now, start the new development codebase.  For
+  minor updates of a 2.x tree (e.g. 2.x.1, 2.x.2), you don't need to
+  branch; for major updates (2.x.0) you need to create a new development
+  branch, off the trunk.
 
     repo=https://svn.apache.org/repos/asf/spamassassin
-    svn copy $repo/tags/spamassassin_release_3_0_0 \
-           $repo/branches/b3_0_0
+    svn copy $repo/tags/spamassassin_release_3_1_0 \
+           $repo/branches/b3_1_0
 
   "trunk" is SVN's concept of head.  Typically, our branches are named
-  for their minor version number.  In the example above, b3_0_0 is the
-  branch for the stable 3.0.x releases.
+  for their minor version number.  In the example above, b3_1_0 is the
+  branch for the stable 3.1.x releases.
 
 - In the new development codeline, edit lib/Mail/SpamAssassin.pm, bump the
   $VERSION line to the correct version, and uncomment the $IS_DEVEL_BUILD
   line.
 
+- In the new development codeline, edit spamassassin.spec, and bump the
+  version number in the "%define real_version" line.
+
 - then, commit the new version number to the new branch:
 
         svn commit -m "X.Y.N devel cycle started"
 
 	(where X.Y.N is the new version number)
 
-- (for any rc, prerelease, or full release) Place the tarballs in a
-  discreet location (discreet means not linked from downloads, but
-  included in the vote mail) and request a vote on the development
-  mailing list to make the release, three +1 votes are required to make
-  the release official.  The release manager (that's you) may vote as
-  well.  Once there are three or more +1 votes, you may proceed.
-
 - !WARNING! After the next step, the version number will be considered
   "burned". The number is locked for this particular code.  The same
   number cannot be used for a future different release.  So make sure
@@ -185,13 +210,10 @@
 - publish the tarballs.
 
   (for rc and prerelease builds) copy the tarballs to the website.
-
-        cp -p ~/site/released/Mail-SpamAssassin-$version.* \
-            /www/spamassassin.apache.org/devel/
-
-  BTW, note that http://spamassassin.apache.org/devel/ is served via a
-  mirror which takes several hours to catch up.  However that directory is
-  ALSO accessible directly, and immediately, as
+  ASF bylaws prohibit the distribution of files claiming to be
+  releases from the website, without 3 PMC +1 votes, so you need to
+  make it clear that this is an unofficial "test build" by placing it
+  in your public_html dir:
 
         http://people.apache.org/~jm/devel/
 
@@ -239,41 +261,52 @@
         cd /www/spamassassin.apache.org
         svn up
         svn delete --force full/3.1.x
-        svn commit -m "removing old dist tree"
+        svn commit -m "removing old dist tree from website" full
 
         cd [checkedoutdir]
         build/update_website_docs
 
         cd /www/spamassassin.apache.org
         svn add full/3.1.x
-        svn commit -m "updating new dist tree" full
+        svn commit -m "updating new dist tree on website" full
 
 - and check the entire website into SVN (see bug 4998 for reasons why).
   Note that you may need to resolve conflicts and ensure the contents of
   'full/3.1.x' are all added successfully:
 
         svn up
-        svn add full/3.1.x
-        svn commit -m "added new release"
+        svn commit -m "added new release to website"
+
+- upload release tarball to CPAN at http://pause.cpan.org/:
+
+        https://pause.perl.org/pause/authenquery?ACTION=add_uri
+
+  (Note that recently, PAUSE has started indexing sub-modules under
+  Mail::SpamAssassin::, and it can't deal with our multi-maintainer
+  setup.  You may receive mail indicating that "indexing failed" after
+  the upload; as long as the main Mail::SpamAssassin module was indexed
+  correctly, this is fine.  However, it would help if you could visit
 
-- upload to CPAN at http://pause.cpan.org/
+        https://pause.perl.org/pause/authenquery?ACTION=share_perms
 
-  ( https://pause.perl.org/pause/authenquery?ACTION=add_uri )
+  select 3.1 ("Make someone else co-maintainer"), and ensure that the
+  other releasers (JMASON, DOS, FELICITY, others?) all have permissions as
+  'co-maintainer' on the full set of your listed modules in the
+  "Mail::SpamAssassin::" namespace.
 
-- Before doing the next step, run through the Changes file, and write up a
-  quick summary of the important changes in human-readable format.  This
-  should be less than 600 chars to fit into Freshmeat's format, and
-  to be easily understandable.
+- announce on the users, dev, and announce mailing lists using the
+  previously-prepared release announcement.
 
-- announce to Freshmeat at http://freshmeat.net/
+- Before doing the next step, run through the release summary mail, and
+  write up a really short summary of the important changes in
+  human-readable format.  This should be less than 600 chars to fit into
+  Freshmeat's format, and to be easily understandable.
 
-  ( http://freshmeat.net/add-release/14876/ may work )
+- announce to Freshmeat at http://freshmeat.net/:
 
-- announce on SpamAssassin-Users, SpamAssassin-Dev, and
-  SpamAssassin-Announce.  Be sure to include the MD5 checksums in this
-  mail, so paranoid folks can check the tarball's integrity.
+        http://freshmeat.net/add-release/14876/
 
-- Approve the posting to SpamAssassin-Announce (the list admins will get a
+- Approve the posting to the announce list (the list admins will get a
   mail indicating how to do this.)
 
 // vim:tw=74: