- Modern revamping japanese/p5-Mail-SpamAssassin to work as a slave port [1]

- Bump PORTREVISION to follow mail/p5-Mail-SpamAssassin [1]
- tweak files/*.plist to check for and optionally save tokenizer.pre [2]

PR:		ports/165765 [1]
Submitted by:	Masaki TAGAWA <masaki@club.kyutech.ac.jp> (maintainer)
Reviewed by:	scheidell (me) [2]
Feature safe:	yes
This commit is contained in:
Michael Scheidell 2012-04-07 16:34:45 +00:00
parent 2a5b7997aa
commit 42e9a79423
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=294338
13 changed files with 1188 additions and 672 deletions

View File

@ -5,339 +5,43 @@
# $FreeBSD$
#
PORTNAME= Mail-SpamAssassin
PORTVERSION= 3.3.2
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= japanese mail perl5
MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/} \
${PATCH_SITES}
MASTER_SITE_SUBDIR= spamassassin/source/:apache Mail/:cpan
PKGNAMEPREFIX= ja-p5-
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:apache,cpan \
${TOKENIZER_PRE}:JA ${DOCJA}:JA
DIST_SUBDIR= ja-spamassassin
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
PATCH_SITES= http://spamassassin.emaillab.jp/pub/ja-patch/sa${PORTVERSION:R}/:JA
PATCHFILES= spamassassin-${PORTVERSION}-ja-${PATCHLEVEL}.patch:JA
PATCHLEVEL= 1
PATCH_DIST_STRIP= -p1
MAINTAINER= masaki@club.kyutech.ac.jp
COMMENT= SpamAssassin with Japanese tokenizer
COMMENT= SpamAssassin with paches to handle multibyte character
RUN_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \
p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \
p5-libwww>=0:${PORTSDIR}/www/p5-libwww \
p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \
p5-Mail-Tools>=0:${PORTSDIR}/mail/p5-Mail-Tools \
ja-p5-MeCab>=0.98:${PORTSDIR}/japanese/p5-MeCab
BUILD_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \
p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \
p5-libwww>=0:${PORTSDIR}/www/p5-libwww \
p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \
p5-Mail-Tools>=0:${PORTSDIR}/mail/p5-Mail-Tools
LICENSE= AL2
MASTERDIR= ${.CURDIR}/../../mail/p5-Mail-SpamAssassin
RUN_DEPENDS+= ja-p5-MeCab>=0.98:${PORTSDIR}/japanese/p5-MeCab
CONFLICTS= p5-Mail-SpamAssassin-[0-9]*
PERL_CONFIGURE= yes
USE_PERL5_RUN= 5.8.8+
USE_LDCONFIG= yes
CONFIGURE_ARGS= SYSCONFDIR="${PREFIX}/etc" \
CONTACT_ADDRESS="${CONTACT_ADDRESS}" \
LOCALSTATEDIR="/var/db/spamassassin"
EXTRA_PATCHES= ${.CURDIR}/files/spamassassin-3.3.2-ja-1.patch
USERS= spamd
GROUPS= spamd
PKGMESSAGE= ${.CURDIR}/pkg-message
PLIST= ${WRKDIR}/pkg-plist
# You can override it if you like
CONTACT_ADDRESS?= The administrator of that system
OPTIONS= AS_ROOT "Run spamd as root (recommended)" on \
SPAMC "Build spamd/spamc (not for amavisd)" on \
SACOMPILE "sa-compile" off \
DKIM "DKIM/DomainKeys Identified Mail" on \
SSL "Build with SSL support for spamd/spamc" on \
GNUPG "Install GnuPG (for sa-update)" on \
MYSQL "Add MySQL support" off \
PGSQL "Add PostreSQL support" off \
RAZOR "Add Vipul's Razor support" on \
SPF_QUERY "Add SPF query support" off \
RELAY_COUNTRY "Relay country support" off \
DCC "Add DCC support (see LICENSE)" off
.if !defined(WITHOUT_SSL)
USE_OPENSSL= yes
.endif
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} < 500903
RUN_DEPENDS+= p5-IO-Compress>=2.017:${PORTSDIR}/archivers/p5-IO-Compress
.endif
.if ${PERL_LEVEL} < 501000
RUN_DEPENDS+= p5-Archive-Tar>=1.23:${PORTSDIR}/archivers/p5-Archive-Tar \
p5-IO-Zlib>=1.04:${PORTSDIR}/archivers/p5-IO-Zlib \
p5-Test-Harness>=3.16:${PORTSDIR}/devel/p5-Test-Harness
.endif
.if defined (WITH_SPAMC)
CONFIGURE_ARGS+= BUILD_SPAMC=yes
.else
CONFIGURE_ARGS+= BUILD_SPAMC=no
WITH_AS_ROOT=
WITHOUT_SSL=1
.endif
.if defined(WITH_SPF_QUERY)
RUN_DEPENDS+= ${SITE_PERL}/Mail/SPF.pm:${PORTSDIR}/mail/p5-Mail-SPF
.endif
.if !defined(WITHOUT_IPV6)
RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-Socket-INET6
.endif
.if !defined(WITHOUT_SSL)
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
CFLAGS+= -I${OPENSSLINC}
LDFLAGS+= -L${OPENSSLLIB}
CONFIGURE_ARGS+= ENABLE_SSL=yes
PLIST_SUB+= SSL=""
.else
CONFIGURE_ARGS+= ENABLE_SSL=no
PLIST_SUB+= SSL="@comment "
.endif
.if !defined(WITHOUT_GNUPG)
RUN_DEPENDS+= gnupg>=1.4.7:${PORTSDIR}/security/gnupg
.endif
.if defined(WITH_MYSQL)
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql
.endif
.if defined(WITH_PGSQL)
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg
.endif
.if defined(WITH_RAZOR)
RUN_DEPENDS+= razor-agents>=2.84:${PORTSDIR}/mail/razor-agents
.else
.if ${PERL_LEVEL} < 501000
.if !defined(WITH_DKIM)
RUN_DEPENDS+= p5-Digest-SHA1>=2.11:${PORTSDIR}/security/p5-Digest-SHA1
.endif
.endif
.endif
.if defined(WITH_DKIM)
RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
. if ${PERL_LEVEL} < 501000
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Digest/SHA.pm:${PORTSDIR}/security/p5-Digest-SHA
. endif
RUN_DEPENDS+= p5-Mail-DKIM>=0.37:${PORTSDIR}/mail/p5-Mail-DKIM
RUN_DEPENDS+= p5-Crypt-OpenSSL-RSA>=0.26_1:${PORTSDIR}/security/p5-Crypt-OpenSSL-RSA
.endif
.if defined(WITH_SACOMPILE)
RUN_DEPENDS+= re2c>=.12.0:${PORTSDIR}/devel/re2c
.endif
.if defined(WITH_RELAY_COUNTRY)
RUN_DEPENDS+= ${SITE_PERL}/IP/Country/Fast.pm:${PORTSDIR}/net/p5-IP-Country
.endif
.if defined(WITH_DCC)
RUN_DEPENDS+= dcc-dccd>=1.3.111:${PORTSDIR}/mail/dcc-dccd
.endif
MAN3= Mail::SpamAssassin.3 \
Mail::SpamAssassin::AICache.3 \
Mail::SpamAssassin::ArchiveIterator.3 \
Mail::SpamAssassin::AsyncLoop.3 \
Mail::SpamAssassin::AutoWhitelist.3 \
Mail::SpamAssassin::Bayes.3 \
Mail::SpamAssassin::BayesStore.3 \
Mail::SpamAssassin::BayesStore::BDB.3 \
Mail::SpamAssassin::BayesStore::MySQL.3 \
Mail::SpamAssassin::BayesStore::PgSQL.3 \
Mail::SpamAssassin::BayesStore::SQL.3 \
Mail::SpamAssassin::Client.3 \
Mail::SpamAssassin::Conf.3 \
Mail::SpamAssassin::Conf::LDAP.3 \
Mail::SpamAssassin::Conf::Parser.3 \
Mail::SpamAssassin::Conf::SQL.3 \
Mail::SpamAssassin::DnsResolver.3 \
Mail::SpamAssassin::Logger.3 \
Mail::SpamAssassin::Logger::File.3 \
Mail::SpamAssassin::Logger::Stderr.3 \
Mail::SpamAssassin::Logger::Syslog.3 \
Mail::SpamAssassin::Message.3 \
Mail::SpamAssassin::Message::Metadata.3 \
Mail::SpamAssassin::Message::Node.3 \
Mail::SpamAssassin::PerMsgLearner.3 \
Mail::SpamAssassin::PerMsgStatus.3 \
Mail::SpamAssassin::PersistentAddrList.3 \
Mail::SpamAssassin::Plugin.3 \
Mail::SpamAssassin::Plugin::ASN.3 \
Mail::SpamAssassin::Plugin::AWL.3 \
Mail::SpamAssassin::Plugin::AccessDB.3 \
Mail::SpamAssassin::Plugin::AntiVirus.3 \
Mail::SpamAssassin::Plugin::AutoLearnThreshold.3 \
Mail::SpamAssassin::Plugin::Bayes.3 \
Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor.3 \
Mail::SpamAssassin::Plugin::Check.3 \
Mail::SpamAssassin::Plugin::DCC.3 \
Mail::SpamAssassin::Plugin::DKIM.3 \
Mail::SpamAssassin::Plugin::Hashcash.3 \
Mail::SpamAssassin::Plugin::MIMEHeader.3 \
Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3 \
Mail::SpamAssassin::Plugin::PhishTag.3 \
Mail::SpamAssassin::Plugin::Pyzor.3 \
Mail::SpamAssassin::Plugin::Razor2.3 \
Mail::SpamAssassin::Plugin::RelayCountry.3 \
Mail::SpamAssassin::Plugin::ReplaceTags.3 \
Mail::SpamAssassin::Plugin::Reuse.3 \
Mail::SpamAssassin::Plugin::Rule2XSBody.3 \
Mail::SpamAssassin::Plugin::SPF.3 \
Mail::SpamAssassin::Plugin::Shortcircuit.3 \
Mail::SpamAssassin::Plugin::SpamCop.3 \
Mail::SpamAssassin::Plugin::Test.3 \
Mail::SpamAssassin::Plugin::TextCat.3 \
Mail::SpamAssassin::Plugin::Tokenizer.3 \
Mail::SpamAssassin::Plugin::Tokenizer::MeCab.3 \
Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA.3 \
Mail::SpamAssassin::Plugin::URIDNSBL.3 \
Mail::SpamAssassin::Plugin::URIDetail.3 \
Mail::SpamAssassin::Plugin::VBounce.3 \
Mail::SpamAssassin::Plugin::WhiteListSubject.3 \
Mail::SpamAssassin::PluginHandler.3 \
Mail::SpamAssassin::SQLBasedAddrList.3 \
Mail::SpamAssassin::SubProcBackChannel.3 \
Mail::SpamAssassin::Timeout.3 \
Mail::SpamAssassin::Util.3 \
Mail::SpamAssassin::Util::Charset.3 \
Mail::SpamAssassin::Util::DependencyInfo.3 \
Mail::SpamAssassin::Util::Progress.3 \
Mail::SpamAssassin::Util::RegistrarBoundaries.3 \
spamassassin-run.3
MAN1= spamd.1 spamassassin.1 spamc.1 sa-learn.1 sa-update.1 \
spamassassin-run.1 sa-compile.1 sa-awl.1
DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
DATADIR= ${PREFIX}/share/spamassassin
DOCS= CREDITS Changes INSTALL LICENSE NOTICE PACKAGING README TRADEMARK UPGRADE USAGE procmailrc.example
DOCSSQL= README README.awl README.bayes awl_mysql.sql awl_pg.sql bayes_mysql.sql bayes_pg.sql userpref_mysql.sql userpref_pg.sql
DOCSLDAP= README README.testing sa_test.ldif
PORTDOCS= ${DOCS} sql ldap ${DOCJA}
DOCJA= ${PATCHFILES:S/.patch:JA/.txt/}
TOKENIZER_PRE= tokenizer.pre
USE_RC_SUBR= sa-spamd.sh
PLIST_SUB+= TOKENIZER_PRE=${TOKENIZER_PRE}
.if defined(WITH_MYSQL) || defined(WITH_PGSQL)
SUB_LIST+= SQL_FLAG="-Q"
.else
SUB_LIST+= SQL_FLAG=""
.endif
.if !defined(WITH_AS_ROOT)
SUB_LIST+= RUN_AS_USER="-u ${USERS} -H /var/spool/spamd"
.else
SUB_LIST+= RUN_AS_USER=""
.endif
post-patch:
@${FIND} ${WRKSRC} -name \*.orig -delete
@${REINPLACE_CMD} -e 's#B_CONFDIR)/local.cf#B_CONFDIR)/local.cf.sample#g' \
-e 's#B_CONFDIR)/init.pre#B_CONFDIR)/init.pre.sample#g' \
-e 's#B_CONFDIR)/v310.pre#B_CONFDIR)/v310.pre.sample#g' \
-e 's#B_CONFDIR)/v312.pre#B_CONFDIR)/v312.pre.sample#g' \
-e 's#B_CONFDIR)/v320.pre#B_CONFDIR)/v320.pre.sample#g' \
-e 's#B_CONFDIR)/v330.pre#B_CONFDIR)/v330.pre.sample#g' \
-e 's/require DBI/0/' \
${WRKSRC}/Makefile.PL
@${REINPLACE_CMD} -e '/^CC =/d; \
s|@SSLCFLAGS@|& $${CFLAGS}|g' ${WRKSRC}/spamc/Makefile.in
.if defined(WITH_RAZOR)
${REINPLACE_CMD} -e '/Razor2/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v312.pre
.endif
.if defined(WITH_RELAY_COUNTRY)
${REINPLACE_CMD} -e '/RelayCountry/s/^# ?loadplugin/loadplugin/' ${WRKSRC}/rules/init.pre
.endif
.if !defined(WITH_DKIM)
${REINPLACE_CMD} -e '/DKIM/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v312.pre
.endif
.if !defined(WITH_SPF_QUERY)
${REINPLACE_CMD} -e '/SPF/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/init.pre
.endif
.if defined(WITH_DCC)
${REINPLACE_CMD} -e '/DCC/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v310.pre
.endif
.if !defined(WITH_AWL)
${REINPLACE_CMD} -e '/AWL/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v310.pre
.endif
.if defined(WITH_SACOMPILE)
${REINPLACE_CMD} -e '/Rule2XSBody/s/^# loadplugin/loadplugin/' ${WRKSRC}/rules/v320.pre
.endif
MAN3= Mail::SpamAssassin::Util::Charset.3 \
Mail::SpamAssassin::Plugin::Tokenizer::MeCab.3 \
Mail::SpamAssassin::Plugin::Tokenizer.3 \
Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA.3
pre-install:
@${MKDIR} ${DATADIR}
@${CAT} ${EXTRA_PATCHES:S/.patch/.plist/} > ${PLIST}
@${CAT} ${PKGDIR}/pkg-plist >> ${PLIST}
post-build:
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} spamc/libspamc.so)
.if !defined(WITHOUT_SSL)
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} spamc/libsslspamc.so)
.endif
post-install::
@${CP} ${.CURDIR}/files/${TOKENIZER_PRE} ${ETCDIR}/${TOKENIZER_PRE}.sample
@[ -f ${ETCDIR}/${TOKENIZER_PRE} ] || \
${INSTALL_DATA} ${ETCDIR}/${TOKENIZER_PRE}.sample \
${ETCDIR}/${TOKENIZER_PRE}
pre-su-install:
@USER=${USERS} GROUP=${GROUPS} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
@${INSTALL_PROGRAM} ${WRKSRC}/spamc/libspamc.so ${PREFIX}/lib/libspamc.so.0
@${LN} -sf libspamc.so.0 ${PREFIX}/lib/libspamc.so
.if !defined(WITHOUT_SSL)
@${INSTALL_PROGRAM} ${WRKSRC}/spamc/libsslspamc.so ${PREFIX}/lib/libsslspamc.so.0
@${LN} -sf libsslspamc.so.0 ${PREFIX}/lib/libsslspamc.so
.endif
@${INSTALL_DATA} ${WRKSRC}/spamc/libspamc.h ${PREFIX}/include
post-install:
.if defined (WITH_SPAMC)
@${STRIP_CMD} ${PREFIX}/bin/spamc
.endif
@[ -f ${PREFIX}/etc/mail/spamassassin/init.pre ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/init.pre.sample \
${PREFIX}/etc/mail/spamassassin/init.pre
@[ -f ${PREFIX}/etc/mail/spamassassin/v310.pre ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/v310.pre.sample \
${PREFIX}/etc/mail/spamassassin/v310.pre
@[ -f ${PREFIX}/etc/mail/spamassassin/v312.pre ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/v312.pre.sample \
${PREFIX}/etc/mail/spamassassin/v312.pre
@[ -f ${PREFIX}/etc/mail/spamassassin/v320.pre ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/v320.pre.sample \
${PREFIX}/etc/mail/spamassassin/v320.pre
@PKG_PREFIX=${PREFIX} BATCH=${BATCH} SU_CMD="${SU_CMD}" USER=${USERS} GROUP=${GROUPS} ${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
@[ -f ${PREFIX}/etc/mail/spamassassin/v330.pre ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/v330.pre.sample \
${PREFIX}/etc/mail/spamassassin/v330.pre
@${CP} ${DISTDIR}/${DIST_SUBDIR}/${TOKENIZER_PRE} ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE}.sample
@[ -f ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE} ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE}.sample \
${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE}
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR} ${DOCSDIR}/sql ${DOCSDIR}/ldap
@${INSTALL_DATA} ${DOCS:S|^|${WRKSRC}/|} ${DOCSDIR}
@${INSTALL_DATA} ${DOCSSQL:S|^|${WRKSRC}/sql/|} ${DOCSDIR}/sql
@${INSTALL_DATA} ${DOCSLDAP:S|^|${WRKSRC}/ldap/|} ${DOCSDIR}/ldap
@${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${DOCJA} ${DOCSDIR}
.endif
@${SED} -e 's#PREFIX#${PREFIX}#' ${PKGMESSAGE}
.include <bsd.port.post.mk>
.include "${MASTERDIR}/Makefile"

View File

@ -1,8 +0,0 @@
SHA256 (ja-spamassassin/Mail-SpamAssassin-3.3.2.tar.gz) = 5323038939a0ef9fc97d5264defce3ae1d95e98b3a94c4c3b583341c927f32df
SIZE (ja-spamassassin/Mail-SpamAssassin-3.3.2.tar.gz) = 1208182
SHA256 (ja-spamassassin/tokenizer.pre) = 9f8e30a8449fd13d571427ea30a252b4b275f153bde5345c50427a7aee3c90e0
SIZE (ja-spamassassin/tokenizer.pre) = 163
SHA256 (ja-spamassassin/spamassassin-3.3.2-ja-1.txt) = 6d818b246d2655abb260de83b4735c4f433808de7c19c4f905474c78c1ccbebd
SIZE (ja-spamassassin/spamassassin-3.3.2-ja-1.txt) = 7246
SHA256 (ja-spamassassin/spamassassin-3.3.2-ja-1.patch) = 073e9eaebf0dc2bf9e90f894c171a7654dad8444ed269528045e547302b7136a
SIZE (ja-spamassassin/spamassassin-3.3.2-ja-1.patch) = 33740

View File

@ -1,15 +0,0 @@
--- rules/local.cf.orig 2008-01-06 06:11:39.000000000 +0900
+++ rules/local.cf 2008-05-27 22:07:58.000000000 +0900
@@ -51,3 +51,12 @@
# bayes_ignore_header X-Spam-Flag
# bayes_ignore_header X-Spam-Status
+
+# Normalize charset to UTF-8 (default:0)
+#
+# normalize_charset 1
+#
+# score FROM_EXCESS_BASE64 0
+# score SUBJ_ILLEGAL_CHARS 0
+# score MIME_BASE64_TEXT 1.0
+# score TVD_SPACE_RATIO 0

View File

@ -1,27 +0,0 @@
--- sa-learn.raw.orig Wed Aug 8 06:19:47 2007
+++ sa-learn.raw Mon Aug 20 19:05:06 2007
@@ -101,6 +101,7 @@ GetOptions(
'local|L' => \$opt{'local'},
'no-sync|nosync' => \$opt{'nosync'},
'showdots' => \$opt{'showdots'},
+ 'quiet|q' => \$opt{'quiet'},
'progress' => \$opt{'progress'},
'use-ignores' => \$opt{'use-ignores'},
'no-rebuild|norebuild' => sub { $opt{'nosync'} = 1; warn "The --no-rebuild option has been deprecated. Please use --no-sync instead.\n" },
@@ -433,7 +434,7 @@ eval {
$progress->final() if ($opt{progress} && $progress);
my $phrase = defined $forget ? "Forgot" : "Learned";
- print "$phrase tokens from $learnedcount message(s) ($messagecount message(s) examined)\n";
+ print "$phrase tokens from $learnedcount message(s) ($messagecount message(s) examined)\n" if (!$opt{quiet});
# If we needed to make a tempfile, go delete it.
if ( defined $tempfile ) {
@@ -601,6 +602,7 @@ Options:
(default: /etc/mail/spamassassin)
--cf='config line' Additional line of configuration
-D, --debug [area=n,...] Print debugging messages
+ -q, --quiet Reduce amount of information printed out
-V, --version Print version
-h, --help Print usage message

View File

@ -1,43 +0,0 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: spamd
# REQUIRE: LOGIN
# BEFORE: mail
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable spamd:
#
#spamd_enable="YES"
#
# See spamd(8) for flags
#
. /etc/rc.subr
name=spamd
rcvar=spamd_enable
extra_commands="reload"
load_rc_config $name
# Set defaults
: ${spamd_enable:="NO"}
: ${spamd_flags="-c %%SQL_FLAG%% %%RUN_AS_USER%%"}
pidfile=${spamd_pidfile:-"/var/run/spamd/spamd.pid"}
command=%%PREFIX%%/bin/spamd
command_args="-d -r ${pidfile}"
required_dirs=%%PREFIX%%/share/spamassassin
stop_postcmd=stop_postcmd
stop_postcmd()
{
rm -f $pidfile
}
run_rc_command "$1"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer/MeCab.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer/SimpleJA.pm
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/Charset.pm
@unexec if cmp -s %%PREFIX%%/%%ETCDIR%%/%%TOKENIZER_PRE%%.sample %%PREFIX%%/%%ETCDIR%%/%%TOKENIZER_PRE%%; then rm -f %%PREFIX%%/%%ETCDIR%%/%%TOKENIZER_PRE%%; fi
%%ETCDIR%%/%%TOKENIZER_PRE%%.sample

View File

@ -0,0 +1,8 @@
# Tokenizer::SimpleJA
#
loadplugin Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA
# Tokenizer::MeCab
#
#loadplugin Mail::SpamAssassin::Plugin::Tokenizer::MeCab

View File

@ -1,17 +0,0 @@
#!/bin/sh
if [ "$2" != "POST-DEINSTALL" ]; then
exit 0
fi
if [ -d /var/db/spamassassin ]; then
echo "To delete /var/db/spamassassin, use 'rm -rf /var/db/spamassassin'"
fi
USER=spamd
if pw usershow "${USER}" 2>/dev/null 1>&2; then
echo "To delete ${USER} user permanently, use 'rmuser ${USER}'"
fi
exit 0

View File

@ -1,14 +0,0 @@
SpamAssassin is a mail filter which attempts to identify spam using text
analysis and several internet-based realtime blacklists.
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.
Additional drop-in rule sets are available at
http://wiki.apache.org/spamassassin/CustomRulesets
WWW: http://spamassassin.apache.org/

View File

@ -1,66 +0,0 @@
#!/bin/sh
PKG_PREFIX=${PKG_PREFIX:-/usr/local}
USER=${USER:-spamd}
GROUP=${GROUP:-spamd}
HOME=/var/spool/${USER}
if [ "$2" = "POST-INSTALL" ];then
ask() {
local question default answer
question=$1
default=$2
if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
read -t120 -p "${question} [${default}]? " answer
fi
echo ${answer:-${default}}
}
yesno() {
local question default answer
question=$1
default=$2
while :; do
answer=$(ask "${question}" "${default}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
# Create pid directory
install -d -o ${USER} -g ${GROUP} /var/run/spamd
/usr/bin/su root -c "${PKG_PREFIX}/bin/spamassassin -x -L --lint"
if [ ${?} -eq 9 ];then
echo "***********************************************"
echo "*__ ___ ____ _ _ ___ _ _ ____ *"
echo "*\ \ / / \ | _ \| \ | |_ _| \ | |/ ___|*"
echo "* \ \ /\ / / _ \ | |_) | \| || || \| | | _ *"
echo "* \ V V / ___ \| _ <| |\ || || |\ | |_| |*"
echo "* \_/\_/_/ \_\_| \_\_| \_|___|_| \_|\____|*"
echo "* *"
echo "*You must install rules before starting spamd!*"
echo "***********************************************"
if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
if yesno "Do you wish to run sa-update to fetch new rules" "N";then
${PKG_PREFIX}/bin/sa-update || true
else
echo ""
fi
/usr/bin/su root -c "${PKG_PREFIX}/bin/spamassassin -x -L --lint"
if [ ${?} -eq 0 ] && grep '^load.*Rule2XSBody' ${PKG_PREFIX}/etc/mail/spamassassin/v320.pre > /dev/null ;then
if yesno "Do you wish to compile rules with re2c (will take a long time)" "N";then
${PKG_PREFIX}/bin/sa-compile || true
fi
fi
fi
fi
exit 0
fi # post-install
exit 0

View File

@ -39,8 +39,8 @@ as root. To change this, also add this to rc.conf:
spamd_flags="-u spamd -H /var/spool/spamd"
************************************************************************
For Japanese users, see document in
PREFIX/share/doc/ja-p5-Mail-SpamAssassin/
For Japanese users, see documents in
http://emaillab.jp/spamassassin/ja-patch/
Tokenizer::MeCab uses UTF-8 encoding. You may have to manually
(re)install the following ports with the build options for UTF-8:

View File

@ -1,161 +0,0 @@
@stopdaemon sa-spamd
bin/sa-awl
bin/sa-check_spamd
bin/sa-compile
bin/sa-learn
bin/sa-update
bin/spamassassin
bin/spamc
bin/spamd
@unexec rm -rf %D/etc/mail/spamassassin/sa-update-keys || true
etc/mail/spamassassin/local.cf.sample
@unexec if cmp -s %B/init.pre.sample %B/init.pre; then rm -f %B/init.pre; fi
etc/mail/spamassassin/init.pre.sample
@exec [ -f %B/init.pre ] || cp %B/%f %B/init.pre
@unexec if cmp -s %B/tokenizer.pre.sample %B/tokenizer.pre; then rm -f %B/tokenizer.pre; fi
etc/mail/spamassassin/tokenizer.pre.sample
@exec [ -f %B/tokenizer.pre ] || cp %B/%f %B/tokenizer.pre
@unexec if cmp -s %B/v310.pre.sample %B/v310.pre; then rm -f %B/v310.pre; fi
etc/mail/spamassassin/v310.pre.sample
@exec [ -f %B/v310.pre ] || cp %B/%f %B/v310.pre
@unexec if cmp -s %B/v312.pre.sample %B/v312.pre; then rm -f %B/v312.pre; fi
etc/mail/spamassassin/v312.pre.sample
@exec [ -f %B/v312.pre ] || cp %B/%f %B/v312.pre
@unexec if cmp -s %B/v320.pre.sample %B/v320.pre; then rm -f %B/v320.pre; fi
etc/mail/spamassassin/v320.pre.sample
@exec [ -f %B/v320.pre ] || cp %B/%f %B/v320.pre
@unexec if cmp -s %B/v330.pre.sample %B/v330.pre; then rm -f %B/v330.pre;fi
etc/mail/spamassassin/v330.pre.sample
@exec [ -f %B/v330.pre ] || cp %B/%f %B/v330.pre
include/libspamc.h
lib/libspamc.so
lib/libspamc.so.0
%%SSL%%lib/libsslspamc.so
%%SSL%%lib/libsslspamc.so.0
%%SITE_PERL%%/Mail/SpamAssassin.pm
%%SITE_PERL%%/Mail/SpamAssassin/AICache.pm
%%SITE_PERL%%/Mail/SpamAssassin/ArchiveIterator.pm
%%SITE_PERL%%/Mail/SpamAssassin/AsyncLoop.pm
%%SITE_PERL%%/Mail/SpamAssassin/AutoWhitelist.pm
%%SITE_PERL%%/Mail/SpamAssassin/Bayes.pm
%%SITE_PERL%%/Mail/SpamAssassin/Bayes/CombineChi.pm
%%SITE_PERL%%/Mail/SpamAssassin/Bayes/CombineNaiveBayes.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/BDB.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/DBM.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/MySQL.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/PgSQL.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/SDBM.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/SQL.pm
%%SITE_PERL%%/Mail/SpamAssassin/Client.pm
%%SITE_PERL%%/Mail/SpamAssassin/Conf.pm
%%SITE_PERL%%/Mail/SpamAssassin/Conf/LDAP.pm
%%SITE_PERL%%/Mail/SpamAssassin/Conf/Parser.pm
%%SITE_PERL%%/Mail/SpamAssassin/Conf/SQL.pm
%%SITE_PERL%%/Mail/SpamAssassin/Constants.pm
%%SITE_PERL%%/Mail/SpamAssassin/DBBasedAddrList.pm
%%SITE_PERL%%/Mail/SpamAssassin/Dns.pm
%%SITE_PERL%%/Mail/SpamAssassin/DnsResolver.pm
%%SITE_PERL%%/Mail/SpamAssassin/HTML.pm
%%SITE_PERL%%/Mail/SpamAssassin/Locales.pm
%%SITE_PERL%%/Mail/SpamAssassin/Locker.pm
%%SITE_PERL%%/Mail/SpamAssassin/Locker/Flock.pm
%%SITE_PERL%%/Mail/SpamAssassin/Locker/UnixNFSSafe.pm
%%SITE_PERL%%/Mail/SpamAssassin/Locker/Win32.pm
%%SITE_PERL%%/Mail/SpamAssassin/Logger.pm
%%SITE_PERL%%/Mail/SpamAssassin/Logger/File.pm
%%SITE_PERL%%/Mail/SpamAssassin/Logger/Stderr.pm
%%SITE_PERL%%/Mail/SpamAssassin/Logger/Syslog.pm
%%SITE_PERL%%/Mail/SpamAssassin/MailingList.pm
%%SITE_PERL%%/Mail/SpamAssassin/Message.pm
%%SITE_PERL%%/Mail/SpamAssassin/Message/Metadata.pm
%%SITE_PERL%%/Mail/SpamAssassin/Message/Metadata/Received.pm
%%SITE_PERL%%/Mail/SpamAssassin/Message/Node.pm
%%SITE_PERL%%/Mail/SpamAssassin/NetSet.pm
%%SITE_PERL%%/Mail/SpamAssassin/PerMsgLearner.pm
%%SITE_PERL%%/Mail/SpamAssassin/PerMsgStatus.pm
%%SITE_PERL%%/Mail/SpamAssassin/PersistentAddrList.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ASN.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/AWL.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/AccessDB.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/AntiVirus.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Bayes.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/BodyEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Check.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DCC.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DKIM.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DNSEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/FreeMail.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTMLEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTTPSMismatch.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Hashcash.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HeaderEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ImageInfo.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/MIMEEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/MIMEHeader.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/OneLineBodyRuleType.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/PhishTag.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Pyzor.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Razor2.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayCountry.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ReplaceTags.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Reuse.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Rule2XSBody.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/SPF.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Shortcircuit.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/SpamCop.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Test.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/TextCat.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer/MeCab.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer/SimpleJA.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/URIDNSBL.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/URIDetail.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/URIEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/VBounce.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/WLBLEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/WhiteListSubject.pm
%%SITE_PERL%%/Mail/SpamAssassin/PluginHandler.pm
%%SITE_PERL%%/Mail/SpamAssassin/Reporter.pm
%%SITE_PERL%%/Mail/SpamAssassin/SQLBasedAddrList.pm
%%SITE_PERL%%/Mail/SpamAssassin/SpamdForkScaling.pm
%%SITE_PERL%%/Mail/SpamAssassin/SubProcBackChannel.pm
%%SITE_PERL%%/Mail/SpamAssassin/Timeout.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/Charset.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/DependencyInfo.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/Progress.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/RegistrarBoundaries.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/ScopedTimer.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/TieOneStringHash.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Mail/SpamAssassin/.packlist
%%SITE_PERL%%/spamassassin-run.pod
%%DATADIR%%/languages
%%DATADIR%%/sa-update-pubkey.txt
%%DATADIR%%/user_prefs.template
@unexec rm -rf /var/lib/spamassassin/2* || true
@unexec rmdir /var/lib/spamassassin 2>/dev/null || true
@unexec rmdir /var/lib 2>/dev/null || true
@unexec rmdir /var/db/spamassassin || true
@dirrm %%DATADIR%%
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Mail/SpamAssassin
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Mail
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Util
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer
@dirrmtry %%SITE_PERL%%/Mail/SpamAssassin/Plugin
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Message/Metadata
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Message
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Logger
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Locker
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Conf
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/BayesStore
@dirrm %%SITE_PERL%%/Mail/SpamAssassin/Bayes
@dirrmtry %%SITE_PERL%%/Mail/SpamAssassin
@dirrmtry %%SITE_PERL%%/Mail
@dirrmtry etc/mail/spamassassin
@dirrmtry etc/mail
@unexec rm -rf /var/run/spamd || true