
SPAMASSASSIN DEVELOPMENT SNAPSHOT PROCEDURE
===========================================

- cd to the directory for the codebase you want the devel tree to
  come from

- run "./build/update_devel" to build the tar.gz files

- by default, they're written to ~/spamassassin.taint.org/devel/ .  This
  Works For Me (tm), as it's my local cvs checkout of the SpamAssassin
  website.  Copy them to wherever you want, yourself.


SPAMASSASSIN RELEASE PROCEDURE
==============================

- cd to the directory for the codebase you want the release to
  come from

- edit lib/Mail/SpamAssassin.pm and comment the $IS_DEVEL_BUILD
  line.

- create the Changes file

	TZ=UTC svn log --non-interactive --stop-on-copy

  This will output all of the changes since the .0 release in the current
  branch.

- run "make disttest" to ensure all tests pass once the distribution
  is fully packaged.

- run "./build/update_stable" to build the tar.gz files.

- by default, they're written to ~/spamassassin.taint.org/released/ .
  This Works For Me (tm), as it's my local cvs checkout of the
  SpamAssassin website.  Copy them to wherever you want, yourself.

- take a copy of the MD5sum line output.

- test the tar.gz and zip files!  redo until they work!! ;)

- SVN commit the release files, including 'Changes':

	svn commit -m "X.YZ RELEASED"

- SVN tag the release files.  This is done using "svn copy", ie:

  svn copy https://svn.apache.org/repos/asf/incubator/spamassassin/branches/b2_6_0 \
           https://svn.apache.org/repos/asf/incubator/spamassassin/tags/spamassassin_release_2_6_1

  This will do a completely server-side tagging (which is the same as
  a branch really) of whatever the latest branch revision to be the new
  base of the tag release.

- 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 HEAD.

  svn copy https://svn.apache.org/repos/asf/incubator/spamassassin/trunk \
           https://svn.apache.org/repos/asf/incubator/spamassassin/branches/b2_6_0

  "trunk" is SVN's concept of head.  Typically, our branches are named
  for their minor version number.  In the example above, b2_6_0 is the
  branch for the stable 2.6x releases.  b3_0_0 would be the branch for
  the stable 3.0.x releases, etc.

- 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.

- then, commit the new version number to the new branch:

        svn commit -m "X.YN devel cycle started"

	(where X.YN is the new version number)

- edit SpamAssassin site through WebMake, change released_version item
  at top of file to be X.YZ, then run "webmake" or hit "Build Fully"
  in the Web interface

- run this to update the mirrors:

  ~/lib/html_spamassassin_put.rsync

- upload to CPAN at http://pause.cpan.org/

  ( https://pause.perl.org/pause/authenquery?ACTION=add_uri )

- 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 to Freshmeat at http://freshmeat.net/

  ( http://freshmeat.net/add-release/14876/ may work )

- announce on SpamAssassin news site: http://news.spamassassin.org/

  ( http://news.spamassassin.org/modules.php?op=modload&name=Submit_News&file=index )

- announce on Sourceforge.net: http://www.sourceforge.net/ 

  ( http://sourceforge.net/news/submit.php?group_id=25457 )

- announce on SpamAssassin-Talk, SpamAssassin-Devel, and
  SpamAssassin-Announce.  Be sure to include the MD5 checksums
  in this mail, so paranoid folks can check the tarball's integrity.

- Approve the posting to SpamAssassin-Announce (the list admins
  will get a mail indicating how to do this.)

lastmod: Jan 17 2004 tvd

// vim:tw=74:
