
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:

  cvs2cl-branch -f Changes -l "-d'>2002-06-18'" --branch b2_5_0

  replace b2_5_0 with the name of the branch you're on, or remove the
  entire arg if you're on 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 "./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

- wait for mirrors to update ;)  Or, if you're jm, run

  ~/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: May 10 2003 jm

// vim:tw=74:
