You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by km...@apache.org on 2017/04/22 17:42:58 UTC
svn commit: r1792309 - in /spamassassin/branches/3.4: build/README
lib/Mail/SpamAssassin.pm
Author: kmcgrail
Date: Sat Apr 22 17:42:58 2017
New Revision: 1792309
URL: http://svn.apache.org/viewvc?rev=1792309&view=rev
Log:
preparing to release 3.4.2 pre3
Modified:
spamassassin/branches/3.4/build/README
spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm
Modified: spamassassin/branches/3.4/build/README
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/build/README?rev=1792309&r1=1792308&r2=1792309&view=diff
==============================================================================
--- spamassassin/branches/3.4/build/README (original)
+++ spamassassin/branches/3.4/build/README Sat Apr 22 17:42:58 2017
@@ -22,15 +22,257 @@ SPAMASSASSIN DEVELOPMENT SNAPSHOT PROCED
PATH=$HOME/sabuildtools/bin:$PATH
-- run "./build/PATH=$HOME/sabuildtools/bin:$PATH
+- run "./build/update_devel" to build the tar.gz files.
+
+- next run "./build/update_devel_rules" to build the rules tarball,
+ or run "./build/repackage_latest_update_rules" to repackage the
+ latest file on updates.spamassassin.org.
+
+- by default, they're written to ~/public_html/devel/ .
+ Copy them to wherever you want, yourself.
+
+- KAM has included all of these on one of his devel systems with perl
+ 5.8.6 (the earliest supported version of Perl as of 4/28/2015). One
+ note is that you need webmake 2.4 from
+ http://webmake.taint.org/devel/HTML-WebMake-2.4.tar.gz
+
+ Also, a copy is mirrored at www.pccc.com/downloads/SpamAssassin
+
+
+SPAMASSASSIN RELEASE PROCEDURE
+==============================
+
+- First off, checkout the branch or trunk you wish to build.
+
+# log in to spamassassin.zones.apache.org for some preliminary tool
+# checks.
+#
+# ssh spamassassin.zones.apache.org
+#
+#- ensure the required code and data is available for the build scripts:
+# see above.
+#
+#- ensure your PATH is correct:
+#
+# PATH=$HOME/sabuildtools/bin:$PATH
+
+- ensure ExtUtils::MakeMaker is version 6.46 or later, to create
+ a detailed-enough META.yml (TODO: this should not be required.)
+
+ perl -MExtUtils::MakeMaker -e 'print $ExtUtils::MakeMaker::VERSION'
+
+- Run "svn status" to ensure you're building/releasing from a pristine
+ checkout:
+
+ cd [checkedoutdir]
+ svn status
+
+ The output should be blanke or look like this:
+
+ ? rules/SIQ.pm
+ ? rules/sandbox-hstern.pm
+ ? rules/sandbox-felicity.pm
+
+ (ie., no "M" or "C" files; any files marked "M" have been locally
+ modified, and should be "svn revert"ed before you continue.)
+
+- Consider updating the TLD list in 20_aux_tlds.cf. As of 4/6/2015,
+ this is not automated but bug 7165 is open for this purpose.
+
+- edit lib/Mail/SpamAssassin.pm and comment the $IS_DEVEL_BUILD
+ line. Ensure the correct version number is present in $VERSION
+ and @EXTRA_VERSION.
+
+ Prereleases: formatted like this: "pre4" -- in $EXTRA_VERSION, and
+ $IS_DEVEL_BUILD is left as 1 instead of commented. When referred to in
+ full, it's "3.1.0-pre4".
+
+ Release candidates: formatted like this: "rc2" -- in $EXTRA_VERSION, and
+ $IS_DEVEL_BUILD is commented. When referred to in full, it's "3.1.0-rc2".
+
+ Full releases: comment out @EXTRA_VERSION
+
+# [NOTE: when editing files in these instructions, you may have to
+# use another checkout somewhere else, check in the changes there,
+# then 'svn update' in the release account -- since I think it
+# builds from a read-only checkout.]
+
+- Ensure the new version number takes hold:
+
+ make clean ; perl Makefile.PL < /dev/null ; make
+ ./spamassassin -L -t < sample-nonspam.txt | grep X-Spam-
+
+ Verify that the X-Spam-* headers use the correct version string,
+ without an SVN revision number (those are only for dev and pre builds).
+
+ NOTE: If the date is old, don't worry, it will change later with the
+ relbuild checkout.
+
+- create the Changes file. Do this step on your own checkout, as
+ the release checkout is read-only.
+
+ MAKE CERTAIN THIS IS RUN IN THE ROOT OF YOUR CHECKOUT!
+
+ There are two options here:
+
+ - For releases on a maintainance branch (e.g. 3.0.1, .2, etc.):
+
+ TZ=UTC svn log --non-interactive --stop-on-copy > Changes
+
+ This will output all of the changes since the .0 release in the
+ current branch (the last copy -- note, if a copy was done
+ afterwards (move between repositories, etc, you'll need to
+ modify that command).
+
+ - For releases on the trunk (e.g. a .0 release):
+
+ TZ=UTC svn log -r HEAD:1567124 --non-interactive > Changes
+
+ r497472 was the release of 3.2.0-pre1; r233108 was the start of 3.2.0,
+ just after the 3.1.0 branch was created; r46030 was the start of the
+ 3.1.0 work (created 3.0 branch); replace with the correct rev number
+ for the point you want to start at if different. I used r1149751 to
+ produce the first 3.4.0-pre release, for example. r1567124 is the
+ 3.4.0 release tag revision. r1676613 is the 3.4.1 release tag
+ revision.
+
+ To find the release tag revision, use the tags website, i.e.:
+ https://svn.apache.org/repos/asf/spamassassin/tags/
+
+ NOTE: 3.4.1 is currently on trunk and will be branched to 3.4 because
+ 3.4 branch was not used.
+
+- Exclude some automated changes from the logs:
+
+ cat Changes | perl -ne ' BEGIN{$/=("-"x72)."\n"}
+ chomp; @ln=split/^/;
+ next if @ln==3 && $ln[2]=~/^\s*(updated scores for revision.*|promotions validated|auto-generated rules|)\s*$/;
+ print "@ln$/"' > Changes.tmp
+
+- Word wrap the Changes file with something like
+
+ fold -sw 74 Changes.tmp > Changes && rm -f Changes.tmp
+
+- run "make distcheck" to ensure all files are included in the
+ distribution that should be, and to ensure all files that are listed
+ in the MANIFEST also exist in SVN.
+
+ make distcheck
+
+- run "make disttest" to ensure all default tests pass once the
+ distribution is fully packaged. (this takes ~7 minutes on my system
+ 2017-04-22)
+
+ make disttest < /dev/null
+
+- run the release test suite, which forces all tests to run and also
+ applies an additional, more stringent set of tests. This may require
+ "sudo" privileges on your test box, and unusual CPAN modules like
+ "Devel::SawAmpersand", so you might have to skip some of this or ignore
+ some spurious failures. For example, I don't have re2c or dcc installed
+ on my devel system so I fail xt/50_dcc & xt/50_sa_compile.
+
+
+ Additionally, this will run tests such as the spamd prefork which will
+ kill all running spamd processes. This release test suite is intended
+ for a development environment.
+
+ make test TEST_FILES="xt/*.t"
+
+ Note: As of 2014-02-04, all of these tests can pass test
+ with no tests skipped except dcc.t which doesn't
+ properly test if dcc is not available - Bug 6944.
+
+- Check in the updated Changes file, and SpamAssassin.pm.
+
+ svn commit -m "preparing to release X.Y.Z"
+
+ (If you are privately preparing a security release, and don't wish to
+ perform commits to public SVN repos, you can defer this step until
+ later.)
+
+- SVN tag the release files. This is done using "svn copy".
+
+ - For a maintainance release (x.y.1, x.y.2):
+
+ vers=3_4_2
+
+ Then run:
+
+ repo=https://svn.apache.org/repos/asf/spamassassin
+ svn delete -m "replaced old tag" $repo/tags/spamassassin_release_$vers
+ svn copy -m "creating tag for release $vers" \
+ $repo/branches/3.4 $repo/tags/spamassassin_release_$vers
+
+
+ - For a maintainance release candidate(x.y.1-rc1), pre-release (x.y.1-preZ) or alpha (x.y.1-alphaZ):
+
+ vers=3_4_2_pre_1
+
+ Then run:
+
+ repo=https://svn.apache.org/repos/asf/spamassassin
+ svn delete -m "replaced old tag" $repo/tags/spamassassin_release_$vers
+ svn copy -m "creating tag for release $vers" \
+ $repo/branches/3.4 $repo/tags/spamassassin_release_$vers
+
+
+ - For a trunk release (x.y.0):
+
+ vers=3_4_0
+
+ repo=https://svn.apache.org/repos/asf/spamassassin
+ svn delete -m "replaced old tag" $repo/tags/spamassassin_release_$vers
+ svn copy -m "creating tag for release $vers" \
+ $repo/trunk $repo/tags/spamassassin_release_$vers
+
+ - For a trunk release candidate (x.y.0-rc1), pre-release (x.y.0-preZ) or alpha (x.y.0-alphaZ):
+
+ vers=3_4_0_rc_2
+
+ Then run:
+
+ repo=https://svn.apache.org/repos/asf/spamassassin
+ svn delete -m "replaced old tag" $repo/tags/spamassassin_release_$vers
+ svn copy -m "creating tag for release $vers" \
+ $repo/trunk $repo/tags/spamassassin_release_$vers
+
+
+ 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.
+
+ (If you are privately preparing a security release, and don't wish to
+ perform commits to public SVN repos, you can defer this step until
+ later.)
+
+
+- Check out the code from the tag you just made:
+
+ #These should be set from the previous command unless you are on a
+ # different server
+ #vers=3_4_1
+ #repo=https://svn.apache.org/repos/asf/spamassassin
+ rm -rf ~/relbuild
+ svn co $repo/tags/spamassassin_release_$vers ~/relbuild
+ cd ~/relbuild
+
+ (If you are privately preparing a security release, you will need
+ to ensure that the code in this build directory matches up using
+ some other mechanism, since SVN is public.)
+
+- run "./build/update_stable" to build the tar.gz, tar.bz2 and zip files.
+
./build/update_stable
WARNING: this will use the most recently-created "sa-update" tarball for
the rules tgz, so if changes have been committed to the "rules" dir in
SVN since then, they will not be released!
- if you get "gpg-agent" errors about not connecting to the PIN entry
- module, you didn't update your $PATH.
+ OLD: if you get "gpg-agent" errors about not connecting to the PIN entry
+ module, you didn't update your $PATH.
+ NEW: running gpg-agent with the proper homedir is needed for
+ non-privileged users.
- run "./build/repackage_latest_update_rules" to repackage the
latest rules file for the purpose of publishing a starter rule file
Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm?rev=1792309&r1=1792308&r2=1792309&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin.pm Sat Apr 22 17:42:58 2017
@@ -100,7 +100,7 @@ $IS_DEVEL_BUILD = 1; # change for
# Used during the prerelease/release-candidate part of the official release
# process. If you hacked up your SA, you should add a version_tag to your .cf
# files; this variable should not be modified.
-@EXTRA_VERSION = qw(pre1);
+@EXTRA_VERSION = qw(pre3);
@ISA = qw();