pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mail/spamassassin Updated to version 3.1.0.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9d96e74dc83a
branches:  trunk
changeset: 503075:9d96e74dc83a
user:      heinz <heinz%pkgsrc.org@localhost>
date:      Sun Nov 13 22:48:32 2005 +0000

description:
Updated to version 3.1.0.

Pkgsrc changes:
  - p5-Storable is no longer a necessary.
  - Let DragonFlyBSD also use the rc.d script (patch-ad).
  - Sa-update needs p5-libwww (for LWP::UserAgent, HTTP::Date),
    p5-Archive-Tar and p5-IO-Zlib.
  - Many of the plugins are available as pkgsrc packages (p5-Mail-SPF-Query,
    p5-IP-Country, p5-Net-Ident, ...) but are not required.
  - Renamed some options to follow the naming conventions described in the
    pkgsrc guide.
  - Removed patch-ax again; it is already incorporated in 3.1.0.

  - Reworked DESCR to use less than 25 lines.
  - Removed SPAMASSASSIN_VERSION for clarity of DISTNAME and PKGNAME.
  - Prepended variables internal to the package with an underscore.
  - Rearranged MAKE_PARAMS alphabetically.
  - Simplified some internal variables (concatenation instead of
    substitution: _EGDIR, _DOCDIR,...)
  - Loop variables use all lower-case now.
  - Added a rule to lower score for mail from pkgsrc-bugs in netbsd_lists.cf.
  - The test t/spf.t (fails for SPF_HELO_*) has a know problem (SA Bug 4685).

Relevant changes since version 3.0.4:
=====================================
- Apache preforking algorithm adopted; number of spamd child processes is now
  scaled, according to demand.  This provides better VM behaviour when not
  under peak load.

- Inclusion of sa-update script which will allow for updates of rules and
  scores in between code releases.

- added PostgreSQL, MySQL 4.1+, and local SDBM file Bayes storage modules. SQL
  storage is now recommended for Bayes, instead of DB_File. NDBM_File support
  has been dropped due to a major bug in that module.

- detect legitimate SMTP AUTH submission, to avoid false positives on
  Dynablock-style rules.

- new Advance Fee Fraud (419 scam) rules.

- removed use of the Storable module, due to several reported hangs on SMP
  Linux machines.

- Converted several rule/engine components into Plugins such as:
  AccessDB, AWL, Pyzor, Razor2, DCC, Bayes AutoLearn Determination, etc.

- new plugins: DomainKeys (off by default), MIMEHeader: a new plugin to perform
  tests against header in internal MIME structure, ReplaceTags: plugin by Felix
  Bauer to support fuzzy text matching, WhiteListSubject: plugin added to
  support user whitelists by Subject header.

- TextCat language guesser moved to a plugin.  (This means "ok_languages"
  is no longer part of the core engine by default.)

- Razor: disable Razor2 support by default per our policy, since the
  service is not free for non-personal use.  It's trivial to reenable.

- DCC: disable DCC for similar reasons, due to new license terms.

- Net::DNS bug: high load caused answer packets to be mixed up and delivered as
  answers to the wrong request, causing false positives.  worked around.

- DNSBL lookups and other DNS operations are now more efficient, by using a
  custom single-socket event-based model instead of Net::DNS.

- add support for accreditation services, including Habeas v2.

- better URI parsing -- many evasion tricks now caught.

- URIBL lookups are prioritized based on the location in the message
  the URI was found.

- mass-check now supports reusing realtime DNSBL hit results, and sample-based
  Bayes autolearning emulation, to reduce complexity.

- sa-learn, spamassassin and mass-check now have optional progress bars.

- modify header ordering for DomainKeys compatibility, by placing markup
  headers at the top of the message instead at the bottom of the list.

- spamd/spamc now support remote Bayes training, and reporting spam.

- spamc now supports reading its flags from a configuration file using the -F
  switch, contributed by John Madden.

- added SPF-based whitelisting.

- Polish rules contributed by Radoslaw Stachowiak.

- many rule changes and additions.

diffstat:

 mail/spamassassin/DESCR                 |   35 +++---
 mail/spamassassin/MESSAGE               |   14 +-
 mail/spamassassin/Makefile              |  129 ++++++++++++++------------
 mail/spamassassin/PLIST                 |    3 +-
 mail/spamassassin/distinfo              |   15 +-
 mail/spamassassin/files/netbsd_lists.cf |   22 +++-
 mail/spamassassin/options.mk            |  148 ++++++++++++++++++++-----------
 mail/spamassassin/patches/patch-ab      |  102 ++++-----------------
 mail/spamassassin/patches/patch-ad      |   55 +++++++++++
 mail/spamassassin/patches/patch-ae      |   20 ++--
 mail/spamassassin/patches/patch-aq      |   32 ++++++-
 mail/spamassassin/patches/patch-ax      |   13 --
 12 files changed, 328 insertions(+), 260 deletions(-)

diffs (truncated from 803 to 300 lines):

diff -r 1ba6d5c83535 -r 9d96e74dc83a mail/spamassassin/DESCR
--- a/mail/spamassassin/DESCR   Sun Nov 13 22:47:40 2005 +0000
+++ b/mail/spamassassin/DESCR   Sun Nov 13 22:48:32 2005 +0000
@@ -1,23 +1,24 @@
-SpamAssassin is a mail filter to identify spam.
+SpamAssassin is a mail filter to identify spam. It will examine
+each message presented to it, and assign a score indicating the
+likelihood that the mail is spam.
 
-Using its rule base, it uses a wide range of heuristic tests on mail
-headers and body text to identify "spam", also known as unsolicited
-commercial email.
-Once identified, the mail can then be optionally tagged as spam for
-later filtering using the user's own mail user-agent application.
+It applies a wide range of heuristic tests on mail headers and body text
+to identify "spam", also known as unsolicited commercial email. The mail
+can then be optionally tagged as spam for later filtering.
 
-The spam-identification tactics used include header analysis, text
-analysis, a Bayesian-style form of probability-analysis classification,
-blacklists and Razor.
+The spam-identification tactics used include header analysis, text analysis,
+a Bayesian-style form of probability-analysis classification and DNS
+blacklists. It also includes plugins to support reporting spam messages to
+collaborative filtering databases such as Pyzor, DCC, and Vipul's Razor.
 
-The distribution provides a command line tool to perform filtering,
-along with Mail::SpamAssassin, a set of perl modules which implement a
-Mail::Audit plugin, allowing SpamAssassin to be used in a Mail::Audit
-filter.
-In addition, there is "spamd", a persistently running, daemonized
-version of the command line tool "spamassassin". Together with the small
-client "spamc" this allows processing of large volumes of mail without
-the cost of starting the perl interpreter for each one.
+The distribution provides a command line tool to perform filtering, along
+with a set of perl modules which allows SpamAssassin to be used in a
+variety of different spam-blocking scenarios.
+
+In addition, "spamd", a daemonized version of SpamAssassin which runs
+persistently, is available. Using its counterpart, "spamc", a lightweight
+client written in C, an MTA can process large volumes of mail through
+SpamAssassin without having to fork/exec a perl interpreter for each message.
 
 SpamAssassin does not deliver mail to the users mailbox. You need a
 different program (procmail is recommended) for local mail delivery.
diff -r 1ba6d5c83535 -r 9d96e74dc83a mail/spamassassin/MESSAGE
--- a/mail/spamassassin/MESSAGE Sun Nov 13 22:47:40 2005 +0000
+++ b/mail/spamassassin/MESSAGE Sun Nov 13 22:48:32 2005 +0000
@@ -1,13 +1,15 @@
 ===========================================================================
-$NetBSD: MESSAGE,v 1.9 2004/10/12 00:11:10 heinz Exp $
+$NetBSD: MESSAGE,v 1.10 2005/11/13 22:48:32 heinz Exp $
 
-If you upgrade from an earlier version please take a look at the file
+If you upgrade from an earlier version *PLEASE* take a look at the file
 UPGRADE in
 
         ${PREFIX}/share/doc/spamassassin/
 
-Some configuration options were changed; for more information see
-'perldoc Mail::SpamAssassin::Conf' and the man pages for 'spamassassin',
-'spamd' and 'sa-learn'. Please check that your existing mail configuration
-still works.
+Some configuration options were changed and some features are now provided
+by plugins (they may not be enabled after installation).
+
+For more information see 'perldoc Mail::SpamAssassin::Conf' and the man
+pages for 'spamassassin', 'spamd'/'spamc', 'sa-learn' and 'sa-update'.
+Please check that your existing mail configuration still works.
 ===========================================================================
diff -r 1ba6d5c83535 -r 9d96e74dc83a mail/spamassassin/Makefile
--- a/mail/spamassassin/Makefile        Sun Nov 13 22:47:40 2005 +0000
+++ b/mail/spamassassin/Makefile        Sun Nov 13 22:48:32 2005 +0000
@@ -1,12 +1,10 @@
-# $NetBSD: Makefile,v 1.61 2005/11/13 05:08:00 heinz Exp $
+# $NetBSD: Makefile,v 1.62 2005/11/13 22:48:32 heinz Exp $
 
-DISTNAME=      Mail-SpamAssassin-${SPAMASSASSIN_VERSION}
-PKGNAME=       spamassassin-${SPAMASSASSIN_VERSION}
-PKGREVISION=   2
+DISTNAME=      Mail-SpamAssassin-3.1.0
+PKGNAME=       spamassassin-3.1.0
 SVR4_PKGNAME=  sa
 CATEGORIES=    mail perl5
-MASTER_SITES=  ${MASTER_SITE_APACHE:=spamassassin/source/} \
-               http://spamassassin.apache.org/released/
+MASTER_SITES=  ${MASTER_SITE_APACHE:=spamassassin/source/}
 
 MAINTAINER=    heinz%NetBSD.org@localhost
 HOMEPAGE=      http://spamassassin.apache.org/
@@ -18,17 +16,18 @@
 DEPENDS+=      p5-HTML-Parser>=3.31:../../www/p5-HTML-Parser
 DEPENDS+=      p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1
 DEPENDS+=      {p5-MIME-Base64>=2.11,perl{,-thread}>=5.8.0}:../../converters/p5-MIME-Base64
-DEPENDS+=      {p5-Storable-[0-9]*,perl{,-thread}>=5.8.0}:../../devel/p5-Storable
-.if ${OPSYS} != "NetBSD"
+DEPENDS+=      p5-libwww-[0-9]*:../../www/p5-libwww
+DEPENDS+=      p5-Archive-Tar-[0-9]*:../../archivers/p5-Archive-Tar
+DEPENDS+=      p5-IO-Zlib-[0-9]*:../../devel/p5-IO-Zlib
+
+.if (${OPSYS} != "NetBSD") && (${OPSYS} != "DragonFly")
 DEPENDS+=      p5-DB_File-[0-9]*:../../databases/p5-DB_File
 .endif
 
-CONFLICTS=     p5-Mail-SpamAssassin-[1-9]*
+CONFLICTS=             p5-Mail-SpamAssassin-[1-9]*
 
 PKG_INSTALLATION_TYPES=        overwrite pkgviews
 
-SPAMASSASSIN_VERSION=  3.0.4
-
 WRKSRC=                        ${WRKDIR}/${DISTNAME}
 
 USE_PKGINSTALL=                YES
@@ -53,28 +52,33 @@
 PERL5_CONFIGURE=       NO # we need the default "do-configure" target
 PERL5_CONFIGURE_DIRS=  ${WRKSRC}
 
-MAKE_PARAMS+=          SYSCONFDIR="${PKG_SYSCONFDIR}"
+# test t/meta needs this
+REPLACE_PERL=          masses/parse-rules-for-masses
+
+MAKE_PARAMS+=          CONTACT_ADDRESS=${SPAMASSASSIN_CONTACT_ADDRESS:Q}
+MAKE_PARAMS+=          DEFRULESDIR="${_RULESDIR}"
 MAKE_PARAMS+=          LOCALRULESDIR="${PKG_SYSCONFDIR}"
-MAKE_PARAMS+=          DEFRULESDIR="${RULESDIR}"
-MAKE_PARAMS+=          CONTACT_ADDRESS=${SPAMASSASSIN_CONTACT_ADDRESS:Q}
+MAKE_PARAMS+=          PERL_BIN="${PERL5}"
+MAKE_PARAMS+=          SYSCONFDIR="${PKG_SYSCONFDIR}"
 
 RCD_SCRIPTS=           spamd
 RCD_SCRIPT_SRC.spamd=  ${WRKSRC}/spamd/netbsd-rc-script.sh
 
-EGDIR=                 ${PREFIX}/share/examples/spamassassin
-EG_SUBDIR=             ${EGDIR:S,^${PREFIX}/,,}
-DOCDIR=                        ${PREFIX}/share/doc/spamassassin
-DOC_SUBDIR=            ${DOCDIR:S,^${PREFIX}/,,}
-RULESDIR=              ${PREFIX}/share/spamassassin
-RULE_SUBDIR=           ${RULESDIR:S,^${PREFIX}/,,}
+_EG_SUBDIR=            share/examples/spamassassin
+_EGDIR=                        ${PREFIX}/${_EG_SUBDIR}
+_DOC_SUBDIR=           share/doc/spamassassin
+_DOCDIR=               ${PREFIX}/${_DOC_SUBDIR}
+_RULE_SUBDIR=          share/spamassassin
+_RULESDIR=             ${PREFIX}/${_RULE_SUBDIR}
 
-CONF_FILES+=           ${EGDIR}/local.cf  ${PKG_SYSCONFDIR}/local.cf   \
-                       ${EGDIR}/init.pre  ${PKG_SYSCONFDIR}/init.pre   \
-                       ${RULESDIR}/user_prefs.template                 \
-                       ${PKG_SYSCONFDIR}/user_prefs.template
+CONF_FILES+=           ${_EGDIR}/local.cf  ${PKG_SYSCONFDIR}/local.cf  \
+                       ${_EGDIR}/init.pre  ${PKG_SYSCONFDIR}/init.pre  \
+                       ${_EGDIR}/v310.pre  ${PKG_SYSCONFDIR}/v310.pre  \
+                       ${_RULESDIR}/user_prefs.template                \
+                         ${PKG_SYSCONFDIR}/user_prefs.template
 
-INSTALLATION_DIRS+=    ${EG_SUBDIR} ${DOC_SUBDIR} ${DOC_SUBDIR}/spamc  \
-                       ${DOC_SUBDIR}/spamd
+INSTALLATION_DIRS+=    ${_EG_SUBDIR} ${_DOC_SUBDIR} ${_DOC_SUBDIR}/spamc\
+                       ${_DOC_SUBDIR}/spamd
 
 SUBST_CLASSES+=                sa2 sa3
 
@@ -86,25 +90,27 @@
 SUBST_STAGE.sa3=       pre-configure
 SUBST_FILES.sa3=       INSTALL UPGRADE USAGE ldap/README               \
                        spamc/README.qmail                              \
-                       lib/Mail/SpamAssassin/Conf.pm spamd/README      \
-                       spamd/README.vpopmail sql/README sql/README.awl
+                       lib/Mail/SpamAssassin/Conf.pm                   \
+                       lib/Mail/SpamAssassin/Plugin/Test.pm            \
+                       spamd/README spamd/README.vpopmail sql/README   \
+                       sql/README.awl sa-update.raw
 SUBST_SED.sa3=         -e s!/usr/share!${PREFIX}/share!g               \
                        -e s!/usr/bin!${PREFIX}/bin!g                   \
                        -e s!/usr/local/bin!${PREFIX}/bin!g             \
                        -e s!/usr/lib!${PREFIX}/lib!g                   \
                        -e s!/etc/mail/spamassassin!${PKG_SYSCONFDIR}!g
 
-.if ${OPSYS} == "NetBSD"
+.if (${OPSYS} == "NetBSD") || (${OPSYS} == "DragonFly")
 #  the 'spamd' RCD_SCRIPT behaves differently if we run NetBSD 1.6 or later
-.  if ${OS_VERSION:M1.[0-5]*}
-INTERPRETER_SUPPORT=   NO
+.  if (${OPSYS} == "NetBSD") && !empty(OS_VERSION:M1.[0-5]*)
+_INTERPRETER_SUPPORT=  NO
 .  else
-INTERPRETER_SUPPORT=   YES
+_INTERPRETER_SUPPORT=  YES
 .  endif
 .endif
 
-# These values are substituted into netbsd-rc-script.sh.
-FILES_SUBST+=          INTERPRETER_SUPPORT="${INTERPRETER_SUPPORT}"
+# These variables are substituted in netbsd-rc-script.sh.
+FILES_SUBST+=          _INTERPRETER_SUPPORT="${_INTERPRETER_SUPPORT}"
 FILES_SUBST+=          OPSYS="${OPSYS}"
 
 post-extract:
@@ -114,56 +120,59 @@
 pre-configure: perl5-configure
        @# GNU configure needs version.h -> create it
        @cd ${WRKSRC}/spamc && ${PERL5} ./version.h.pl
+       @# values will be set via the SUBST framework in options.mk
+       @${CP} ${WRKSRC}/t/config.dist ${WRKSRC}/t/config
 
 post-install:
        @${TEST} -r ${PLIST_ADD} && ${RM} ${PLIST_ADD} ; :
-.for f in INSTALL LICENSE README TRADEMARK UPGRADE USAGE       \
-               CREDITS PACKAGING STATUS BUGS Changes                   \
+.for f in INSTALL LICENSE README TRADEMARK UPGRADE USAGE               \
+               CREDITS PACKAGING STATUS BUGS Changes                   \
                spamc/README.qmail                                      \
                sample-nonspam.txt sample-spam.txt spamd/README         \
                spamd/README.vpopmail
-       @${INSTALL_DATA} ${WRKSRC}/${f} ${DOCDIR}/${f}
-       @${ECHO} "${DOC_SUBDIR}/${f}" >> ${PLIST_ADD}
+       @${INSTALL_DATA} ${WRKSRC}/${f} ${_DOCDIR}/${f}
+       @${ECHO} "${_DOC_SUBDIR}/${f}" >> ${PLIST_ADD}
 .endfor
-.for f in STATISTICS.txt STATISTICS-set1.txt STATISTICS-set2.txt       \
-               STATISTICS-set3.txt
-       @${INSTALL_DATA} ${WRKSRC}/rules/${f} ${DOCDIR}/
-       @${ECHO} "${DOC_SUBDIR}/${f}" >> ${PLIST_ADD}
+.for f in STATISTICS-set0.txt STATISTICS-set1.txt STATISTICS-set2.txt  \
+         STATISTICS-set3.txt
+       @${INSTALL_DATA} ${WRKSRC}/rules/${f} ${_DOCDIR}/
+       @${ECHO} "${_DOC_SUBDIR}/${f}" >> ${PLIST_ADD}
 .endfor
-.for DIR in masses sql ldap tools
+.for dir in masses sql ldap tools
        @cd ${WRKSRC};                                                  \
-       for d in `${FIND} ${DIR} -type d -print`; do                    \
-               ${INSTALL_DATA_DIR} ${DOCDIR}/$$d;                      \
+       for d in `${FIND} ${dir} -type d -print`; do                    \
+               ${INSTALL_DATA_DIR} ${_DOCDIR}/$$d;                     \
        done;                                                           \
-       for f in `${FIND} ${DIR} -type f -print`; do                    \
+       for f in `${FIND} ${dir} -type f -print`; do                    \
                if ${TEST} -x $$f ; then                                \
                        ${SED} -e "1s,#!.*/bin/perl,#!${PERL5}," < $$f  \
                                > $${f}.fixed &&                        \
                        ${MV} $${f}.fixed $$f &&                        \
                        ${CHMOD} +x $$f &&                              \
-                       ${INSTALL_SCRIPT} $$f ${DOCDIR}/$$f;            \
+                       ${INSTALL_SCRIPT} $$f ${_DOCDIR}/$$f;           \
                else                                                    \
-                       ${INSTALL_DATA} $$f ${DOCDIR}/$$f;              \
+                       ${INSTALL_DATA} $$f ${_DOCDIR}/$$f;             \
                fi;                                                     \
-               ${ECHO} "${DOC_SUBDIR}/$$f" >> ${PLIST_ADD};            \
+               ${ECHO} "${_DOC_SUBDIR}/$$f" >> ${PLIST_ADD};           \
        done;                                                           \
-       { for d in `${FIND} ${DIR} -type d -print`; do                  \
-               ${ECHO} "@dirrm ${DOC_SUBDIR}/$$d";                     \
+       { for d in `${FIND} ${dir} -type d -print`; do                  \
+               ${ECHO} "@dirrm ${_DOC_SUBDIR}/$$d";                    \
        done; } | ${SORT} -r >> ${PLIST_ADD};
 .endfor
        @cd ${WRKSRC}/rules;                                            \
        for f in [0-9]*.cf; do                                          \
-               ${ECHO} "${RULE_SUBDIR}/$$f" >> ${PLIST_ADD};           \
+               ${ECHO} "${_RULE_SUBDIR}/$$f" >> ${PLIST_ADD};          \
        done
-       @${ECHO} "@dirrm ${RULE_SUBDIR}" >> ${PLIST_ADD}
+       @${ECHO} "@dirrm ${_RULE_SUBDIR}" >> ${PLIST_ADD}
        @# examples are in the static PLIST
-       @${INSTALL_DATA} ${WRKSRC}/procmailrc.example ${EGDIR}/
-       @${INSTALL_DATA} ${WRKSRC}/rules/init.pre ${EGDIR}/
-       @${INSTALL_DATA} ${WRKSRC}/rules/local.cf ${EGDIR}/
-       @${INSTALL_DATA} ${FILESDIR}/netbsd_lists.cf ${EGDIR}/
-       @${CHOWN} ${SHAREOWN} ${RULESDIR}/*
-       @${CHGRP} ${SHAREGRP} ${RULESDIR}/*
-       @${CHMOD} a=r ${RULESDIR}/*
+       @${INSTALL_DATA} ${WRKSRC}/procmailrc.example ${_EGDIR}/
+       @${INSTALL_DATA} ${WRKSRC}/rules/init.pre ${_EGDIR}/
+       @${INSTALL_DATA} ${WRKSRC}/rules/v310.pre ${_EGDIR}/
+       @${INSTALL_DATA} ${WRKSRC}/rules/local.cf ${_EGDIR}/
+       @${INSTALL_DATA} ${FILESDIR}/netbsd_lists.cf ${_EGDIR}/
+       @${CHOWN} ${SHAREOWN} ${_RULESDIR}/*
+       @${CHGRP} ${SHAREGRP} ${_RULESDIR}/*
+       @${CHMOD} a=r ${_RULESDIR}/*
        @{ for d in ${INSTALLATION_DIRS}; do                            \
                ${ECHO} "@dirrm $$d";                                   \
        done; } | ${SORT} -r >> ${PLIST_ADD};
diff -r 1ba6d5c83535 -r 9d96e74dc83a mail/spamassassin/PLIST
--- a/mail/spamassassin/PLIST   Sun Nov 13 22:47:40 2005 +0000
+++ b/mail/spamassassin/PLIST   Sun Nov 13 22:48:32 2005 +0000
@@ -1,10 +1,11 @@
-@comment $NetBSD: PLIST,v 1.16 2005/05/02 20:34:01 reed Exp $
+@comment $NetBSD: PLIST,v 1.17 2005/11/13 22:48:32 heinz Exp $
 @comment Most of this PLIST is auto-generated; see Makefile.
 share/examples/rc.d/spamd
 share/examples/spamassassin/init.pre
 share/examples/spamassassin/local.cf
 share/examples/spamassassin/netbsd_lists.cf
 share/examples/spamassassin/procmailrc.example
+share/examples/spamassassin/v310.pre
 share/spamassassin/languages
 share/spamassassin/triplets.txt



Home | Main Index | Thread Index | Old Index