
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.

- cvs commit -m "ready to release"

- run cvs2cl to generate the Changes file, like so.  For maint branches:

  TZ=UTC ./build/cvs2cl-branch -f Changes -l "-d'>2002-06-18'" --branch b2_5_0

  for HEAD:

  TZ=UTC ./build/cvs2cl-branch -f Changes -l "-d'>2002-06-18'" --branch HEAD
  
  Note that this requires 'cvs2cl-branch' in the 'build' subdir, since
  there are bugs in std cvs2cl.pl that otherwise result in revisions
  on HEAD appearing in branches, if those revisions are in files created
  after the branch was created.   (I hate cvs -- jm)

- 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!! ;)

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

	cvs commit -m "X.YZ RELEASED"

- CVS tag the release files:

        cvs tag spamassassin_release_X_Y_Z

  (where X_Y_Z == 2_4_0 or whatever version you're working on.)

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

	[todo: command to do this]

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

        cvs 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: Aug 28 2003 jm

// vim:tw=74:
