aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2014-09-23 10:50:57 +0100
committerStuart Shelton <stuart@shelton.me>2014-09-23 10:58:44 +0100
commitfb4343dfa5c36146e25ba1cb4015e21e7af1fe71 (patch)
treef0c57e7c6ff996e9c5bdaed252445d61f5d1cb6d /mail-filter
parentUpdate sys-apps/kmod-18-r1 (diff)
downloadsrcshelton-fb4343dfa5c36146e25ba1cb4015e21e7af1fe71.tar.gz
srcshelton-fb4343dfa5c36146e25ba1cb4015e21e7af1fe71.tar.bz2
srcshelton-fb4343dfa5c36146e25ba1cb4015e21e7af1fe71.zip
Add mail-filter/spamassassin-3.3.2-r5
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/spamassassin/Manifest4
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch119
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service.conf7
-rw-r--r--mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild226
4 files changed, 354 insertions, 2 deletions
diff --git a/mail-filter/spamassassin/Manifest b/mail-filter/spamassassin/Manifest
index 83472aa2..7463d7fb 100644
--- a/mail-filter/spamassassin/Manifest
+++ b/mail-filter/spamassassin/Manifest
@@ -4,11 +4,13 @@ AUX secrets.cf 664 SHA256 9f134c7b857b21689f612fc6d131f719e5a65e2ba341b282e7aa57
AUX spamassassin-3.3.2-binary_token.patch 465 SHA256 170ffed8831f7e45d7e50fda774dccd2482f4652c733e419c664d04b3208f37f SHA512 0e101c9792bc1cc6123fa1546e2d412b23bd9811541f18454182871995ad4436916e038be2352774c313e61c6decf99c7b378b3e107dfd05fbeedb75a65ce6ad WHIRLPOOL 88739e51bba39242dfba9adc437a06922f1c9f43e7bc5988c3e6cccc3da937949b634567824587c5c366ff0a4f30b68631f14faf0425f05cd068380d87c83dbc
AUX spamassassin-3.3.2-innodb.patch 4749 SHA256 d40a72692f9b7161f2a332189e68cfd5486b69a4d2e9fdea9d23d6ae7bd7fd10 SHA512 8d72542f1853eee35a9fb8a3127bd8a3a3aeb2ee0b30e1f15a7c45f7a1d81054c50c57a9b8109c9348dbdbe1a084a0932bc9efa8a5516da92142bd8371ed2ecd WHIRLPOOL 7f58df175bb6cef1d970577960e29077ae2172d74bda30dd7c47283df4e7dfbbe8f44045259531659f2eddc748b3f05853aca5c62f90949c6a22d3287a90495c
AUX spamassassin-3.3.2-mysql_count_rows.patch 3319 SHA256 a97f6b9b67e721a95885b978c2def9a1065577855ab4377f80fb142fdf6cbba1 SHA512 47a5cb63e87fa2f76267578d1e9bf4b308fe16467bad9fa69894762c78dda9b6441872e4d6226a1d0e2dce205db9a92eb689377de3ec9f2df9da4d725ab7402d WHIRLPOOL 2f59f05fd813d556ad99829f35c48753ae120bc217f74c940599976d57400c41bc1b29e0734e0935e9856aaf6fcb5feadb9d499963d58467bfb37fa3117ee2b8
+AUX spamassassin-3.3.2-perl518.patch 5811 SHA256 4204eb41eba3a3818c3037f51003a4e8b4ced24c8d295c5ae5adcc930fe681ce SHA512 a1bb1b5c2f32717b77f3077253becf61dd6e511abce83a713f87470af2d4fffd7f9edd149322185c2690addf2464c0e166cc9472af55586cf2117335934517cb WHIRLPOOL 3ed197cfd1542b5df838bc72d27184ee692c7a19fef2fc515f05b233cd0bf4797f1ff511b0efb2c125de51f113e0eff485c8fe2fd606d6128219abd42baff43a
AUX spamassassin.service 290 SHA256 c9c9e7aa13a47e05063a9e3b686d5e00fee34dba2983e42c91e48ae4207ba635 SHA512 409a468457f653c3705586262dd46e75bfdb7442a5a0828797c5f37a760740ecb1c19822f7f8d241176e2287b235a670d82e9470a1080c15c89d822aa1cda0e2 WHIRLPOOL 4658469f87868e421336e7a49698ca90a0710205bdd7b26a8af71427483beae7a28e13804cb940da678377f7bd3af4f2ab1c2106116fc1492f8086e69206e8b1
AUX spamassassin.service-r1 331 SHA256 1b815bd90faefc7799757ea5667d24b9807e90f1573cb9df744739210e7eb881 SHA512 e3c21056e27098f5735e754f5463a7ffbeee4458d3a39728d60037f2312fb94255650e81d52317bbac1e78f4ab4fc9a0e23fe5594f1470cd31cbedadd34d7c89 WHIRLPOOL 019fe066f8e23b2a440c63995cc3b08e30b653b055d549f03fa2295ea48254b48f72821388f68fbb6cf36808298cdf885ef93cbc042cd8866b6afbbcdd1758e8
-AUX spamassassin.service.conf 190 SHA256 4d82b27bba2a44592402e23bcff05ddf40c3bf260616a186ded9d57ff415d97e SHA512 f9bad29c5676ad2a0faece6834fb123ba67906155d9426bc1d9a62bc12ebc77a7d7e94e43e034f9e2ec50fd896a96a15386ded8630521b64a3ee8af6d2954ce7 WHIRLPOOL 51d7faa743daa6d2f42f080416cb277c980bf9bb5c91ef6cc133aa793234ff6b8fb560eba86c8d61ae9bf64ba7bc78aa2506dc6100ce8a0dc5aad70751d7198e
+AUX spamassassin.service.conf 333 SHA256 b6f942eb15f2476dbd161db92b8dacec43f2a0664b45405f3e4396f23ab8b18d SHA512 d818e0ca5bfa9dadb94f99351a307f41c05bc46b89f55a03b9ba2fba0bd06fada06adf1a3eff949f3a04151f3680b279d78fba08c8f28873d17e4a4aa55edca4 WHIRLPOOL 9b5e5674223f99df7afb48482f12f4fa307677290833dd6d3285cdcb94bea1a632c76e8a99e7e38b556a61c20375389d5a370105d2d8c2d4f1de445340ab429d
DIST Mail-SpamAssassin-3.3.2.tar.bz2 1006577 SHA256 c7239b4b4ef04ba5e2d5aedb9156850146ed3fa47c88f0a0757f08e22f93a205 SHA512 3baabfacd2f3ac1debc2bbcdc0b2109ad51f6b176b9a6d037e14999c430150f0922469f777e7d35311ab819eb20905b55c00aa58f1c3c8d5f881d173dd441cbd WHIRLPOOL 5751d7285ffd29c041056f15ff6c85f66ecf6b9e806558623716ad8826124e1f92096f0e8b00016158b4a965927bde7e9e5ed48984ee956906175431e8a45ee5
EBUILD spamassassin-3.3.2-r1.ebuild 6989 SHA256 af562095bc621c527e5489cae0cd3963e071f39df941c24ae1d5959a1c91d500 SHA512 0543e59637470d9e2405a7dd6b907467a0de3b7b519ad983705a661b951549c97552603b2c3dca1a20f821961cd4967f484b67d9e70ad319fc10e3210779768b WHIRLPOOL 2f1b728249ec2c765312e29f2544def677fe5774d69ca15df468a4b7ba5e026dd5b2386afc6c37749fae4b95893484681d047041c6058283927bc4e538b7cdda
EBUILD spamassassin-3.3.2-r2.ebuild 7079 SHA256 e4ea932bb8ca31b637439ea301683262cc073ef9c33ff37af78edef2f0227fda SHA512 5421ee487d3689ff8f26e34d3d0b2a45409bd21b8e0c84afc2791287ed28e42907a120bb5394704bc7465313f647bf763451d3ddd81b06e1d489dd98e517f0ab WHIRLPOOL 60f6da3fb3f5c9a3496cae8908be11930d0392b9dacd47fd4f4edfc52862f13e69a9cfe063a1dc25836dd8d8ff37eee909fd70e92ebbaafd7b5c62325dd710b5
EBUILD spamassassin-3.3.2-r3.ebuild 7087 SHA256 57d1dfb1f6bd19578999583194963788b05767726477283b4e5f234fd146d50b SHA512 7ae17d709ee7ad32e893f6d678d9d14c25766f2f73e58b588153cdaafe3729d02e08776b11eab0d9955a658e69c4bdf5a0d99fce090410602db1d6d9c8b8a80b WHIRLPOOL 9b9ce6287a795dc48fefdb030f93afe428f946f03101c293dc41f6d780e5fb14b380b6d76981298ea8a3bce266e3df1aa85ab2a241140f97d9fed29d2045c47c
EBUILD spamassassin-3.3.2-r4.ebuild 7165 SHA256 4a9b0e8df578fef70d6623a1e522c4400c7ef80f464144738aa1f0111c339297 SHA512 6b6e27994d3bdc8375d1083496874c8f7470ac7044274876018ac3524cbb8b5c352460a8141698d77a21c6ed40c70fc4968c9b4abb3684e47548b9cdc315291f WHIRLPOOL 5fe0aca2f0672fc104cc34fdc0bd0044c35bf7ff371099067ea365f5c4431d8222c49e810192e730f4931798dce2b8348718c6caabf5a4c5ef18cb30a1844dbe
+EBUILD spamassassin-3.3.2-r5.ebuild 7260 SHA256 7765d0ef1c7ba609417c8faf675ec53265a2461e2211a66bbcc51812be910c14 SHA512 93a4de75f33fabe042b509fbf4cd8e78be7047b5487907e2e482712cf74d9bfb41eac72e3111d429351b4e05a5ca598c476ebc2c9dc33dc1cb41e44d6bce403e WHIRLPOOL 2ea9cf86b9cf049d494c76dd589fe24fecf63c6eff4f9b99daf5f5437279c931e995db28c8ea8f105dfc448f97cdac9b022662379ac6fc2146d36a4db47733e0
diff --git a/mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch b/mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch
new file mode 100644
index 00000000..6588eb1d
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch
@@ -0,0 +1,119 @@
+diff -ruN Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/AsyncLoop.pm Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/AsyncLoop.pm
+--- Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/AsyncLoop.pm 2011-06-07 01:59:17.000000000 +0200
++++ Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/AsyncLoop.pm 2014-09-10 22:16:38.795106231 +0200
+@@ -360,7 +360,14 @@
+ }
+ $now = time; # capture new timestamp, after possible sleep in 'select'
+
+- while (my($key,$ent) = each %$pending) {
++ # A callback routine may generate another DNS query, which may insert
++ # an entry into the %$pending hash thus invalidating the each() context.
++ # So, make sure that callbacks are not called while the each() context
++ # is open, or avoid using each(). [Bug 6937]
++ #
++ # while (my($key,$ent) = each %$pending) {
++ foreach my $key (keys %$pending) {
++ my $ent = $pending->{$key};
+ my $id = $ent->{id};
+ if (defined $ent->{poll_callback}) { # call a "poll_callback" if exists
+ # be nice, provide fresh info to a callback routine
+@@ -448,7 +455,8 @@
+ my $pending = $self->{pending_lookups};
+ my $foundcnt = 0;
+ my $now = time;
+- while (my($key,$ent) = each %$pending) {
++ foreach my $key (keys %$pending) {
++ my $ent = $pending->{$key};
+ dbg("async: aborting after %.3f s, %s: %s",
+ $now - $ent->{start_time},
+ (defined $ent->{timeout_initial} &&
+diff -ruN Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/Conf/Parser.pm Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/Conf/Parser.pm
+--- Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/Conf/Parser.pm 2011-06-07 01:59:17.000000000 +0200
++++ Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/Conf/Parser.pm 2014-09-10 22:16:38.796106231 +0200
+@@ -1248,7 +1248,7 @@
+ my $safere = $re;
+ my $mods = '';
+ local ($1,$2);
+- if ($re =~ s/^m{//) {
++ if ($re =~ s/^m\{//) {
+ $re =~ s/}([a-z]*)$//; $mods = $1;
+ }
+ elsif ($re =~ s/^m\(//) {
+diff -ruN Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/DnsResolver.pm Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/DnsResolver.pm
+--- Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/DnsResolver.pm 2011-06-07 01:59:17.000000000 +0200
++++ Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/DnsResolver.pm 2014-09-10 22:16:38.797106231 +0200
+@@ -440,10 +440,16 @@
+ { my $timer; # collects timestamp when variable goes out of scope
+ if (!defined($timeout) || $timeout > 0)
+ { $timer = $self->{main}->time_method("poll_dns_idle") }
++ $! = 0;
+ ($nfound, $timeleft) = select($rout=$rin, undef, undef, $timeout);
+ }
+ if (!defined $nfound || $nfound < 0) {
+- warn "dns: select failed: $!";
++ if ($!) { warn "dns: select failed: $!\n" }
++ else { info("dns: select interrupted") }
++ return;
++ } elsif (!$nfound) {
++ if (!defined $timeout) { warn("dns: select returned empty-handed\n") }
++ elsif ($timeout > 0) { dbg("dns: select timed out %.3f s", $timeout) }
+ return;
+ }
+
+diff -ruN Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/Message.pm Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/Message.pm
+--- Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/Message.pm 2011-06-07 01:59:17.000000000 +0200
++++ Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/Message.pm 2014-09-10 22:16:38.797106231 +0200
+@@ -566,7 +566,7 @@
+ while (my $part = shift @toclean) {
+ # bug 5557: windows requires tmp file be closed before it can be rm'd
+ if (ref $part->{'raw'} eq 'GLOB') {
+- close($part->{'raw'}) or die "error closing input file: $!";
++ close($part->{'raw'}) or warn "error closing input file: $!";
+ }
+
+ # bug 5858: avoid memory leak with deep MIME structure
+diff -ruN Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/PerMsgStatus.pm Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/PerMsgStatus.pm
+--- Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/PerMsgStatus.pm 2011-06-07 01:59:17.000000000 +0200
++++ Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/PerMsgStatus.pm 2014-09-10 22:16:38.799106231 +0200
+@@ -420,8 +420,8 @@
+ }
+ }
+
+- # ignore tests with 0 score in this scoreset
+- next if ($scores->{$test} == 0);
++ # ignore tests with 0 score (or undefined) in this scoreset
++ next if !$scores->{$test};
+
+ # Go ahead and add points to the proper locations
+ if (!$self->{conf}->maybe_header_only ($test)) {
+@@ -1252,13 +1252,12 @@
+ my $arg = (shift || ",");
+ my $line = '';
+ foreach my $test (sort @{$self->{test_names_hit}}) {
+- if (!$line) {
+- $line .= $test . "=" . $self->{conf}->{scores}->{$test};
+- } else {
+- $line .= $arg . $test . "=" . $self->{conf}->{scores}->{$test};
+- }
++ my $score = $self->{conf}->{scores}->{$test};
++ $score = '0' if !defined $score;
++ $line .= $arg if $line ne '';
++ $line .= $test . "=" . $score;
+ }
+- $line ? $line : 'none';
++ $line ne '' ? $line : 'none';
+ },
+
+ PREVIEW => sub { $self->get_content_preview() },
+diff -ruN Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/Util.pm Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/Util.pm
+--- Mail-SpamAssassin-3.3.2.orig/lib/Mail/SpamAssassin/Util.pm 2011-06-07 01:59:17.000000000 +0200
++++ Mail-SpamAssassin-3.3.2/lib/Mail/SpamAssassin/Util.pm 2014-09-10 22:16:38.801106231 +0200
+@@ -1582,7 +1582,7 @@
+ warn "cannot remove delimiters from null regexp";
+ return undef; # invalid
+ }
+- elsif ($re =~ s/^m{//) { # m{foo/bar}
++ elsif ($re =~ s/^m\{//) { # m{foo/bar}
+ $delim = '}';
+ }
+ elsif ($re =~ s/^m\(//) { # m(foo/bar)
diff --git a/mail-filter/spamassassin/files/spamassassin.service.conf b/mail-filter/spamassassin/files/spamassassin.service.conf
index c8dc2fe5..9fc1f629 100644
--- a/mail-filter/spamassassin/files/spamassassin.service.conf
+++ b/mail-filter/spamassassin/files/spamassassin.service.conf
@@ -1,5 +1,10 @@
# Here you can append some options to spamd process, please
# double check that you make needed changes in service file if
# you use options requiring it
+# Some options:
+#
+# -c to create a per user configuration file
+# -H [dir] to switch home dirs for helper apps, dir optional
+
[Service]
-Environment="SPAMD_OPTS="
+Environment="SPAMD_OPTS= -c -H"
diff --git a/mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild b/mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild
new file mode 100644
index 00000000..7d2b0b01
--- /dev/null
+++ b/mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild,v 1.8 2014/09/22 07:51:27 ago Exp $
+
+EAPI=5
+
+inherit perl-module toolchain-funcs eutils systemd
+
+MY_P=Mail-SpamAssassin-${PV//_/-}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="SpamAssassin is an extensible email filter which is used to identify spam"
+HOMEPAGE="http://spamassassin.apache.org/"
+SRC_URI="mirror://apache/spamassassin/source/${MY_P}.tar.bz2"
+
+LICENSE="Apache-2.0 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+# need keyword request for Mail-SPF ppc ppc64
+IUSE="berkdb doc ipv6 ldap mysql postgres qmail sqlite ssl systemd"
+
+DEPEND=">=dev-lang/perl-5.8.8-r8
+ virtual/perl-MIME-Base64
+ >=virtual/perl-Pod-Parser-1.32
+ virtual/perl-Storable
+ virtual/perl-Time-HiRes
+ >=dev-perl/HTML-Parser-3.43
+ >=dev-perl/Mail-DKIM-0.37
+ >=dev-perl/Net-DNS-0.53
+ dev-perl/Digest-SHA1
+ dev-perl/libwww-perl
+ >=virtual/perl-Archive-Tar-1.26
+ app-crypt/gnupg
+ >=virtual/perl-IO-Zlib-1.04
+ >=dev-util/re2c-0.12.0
+ dev-perl/Mail-SPF
+ dev-perl/NetAddr-IP
+ ssl? (
+ dev-perl/IO-Socket-SSL
+ dev-libs/openssl
+ )
+ berkdb? (
+ virtual/perl-DB_File
+ )
+ ldap? ( dev-perl/perl-ldap )
+ mysql? (
+ dev-perl/DBI
+ dev-perl/DBD-mysql
+ )
+ postgres? (
+ dev-perl/DBI
+ dev-perl/DBD-Pg
+ )
+ sqlite? (
+ dev-perl/DBI
+ dev-perl/DBD-SQLite
+ )
+ ipv6? (
+ dev-perl/IO-Socket-INET6
+ )"
+RDEPEND="${DEPEND}"
+
+SRC_TEST="do"
+
+src_prepare() {
+ # http://old.nabble.com/Migrating-bayes-to-mysql-fails-with-parsing-errors-td31889789i20.html
+
+ # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6624
+ epatch "${FILESDIR}/${P}-mysql_count_rows.patch"
+
+ #https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6625
+ epatch "${FILESDIR}/${P}-binary_token.patch"
+
+ # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6626
+ epatch "${FILESDIR}/${P}-innodb.patch"
+
+ # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6937#c2
+ epatch "${FILESDIR}/${P}-perl518.patch"
+}
+
+src_configure() {
+ # - Set SYSCONFDIR explicitly so we can't get bitten by bug 48205 again
+ # (just to be sure, nobody knows how it could happen in the first place).
+ myconf="SYSCONFDIR=${EPREFIX}/etc DATADIR=${EPREFIX}/usr/share/spamassassin"
+
+ # If ssl is enabled, spamc can be built with ssl support
+ if use ssl; then
+ myconf+=" ENABLE_SSL=yes"
+ else
+ myconf+=" ENABLE_SSL=no"
+ fi
+
+ # Set the path to the Perl executable explictly. This will be used to
+ # create the initial sharpbang line in the scripts and might cause
+ # a versioned app name end in there, see
+ # <http://bugs.gentoo.org/show_bug.cgi?id=62276>
+ myconf+=" PERL_BIN=${EPREFIX}/usr/bin/perl"
+
+ # Add Gentoo tag to make it easy for the upstream devs to spot
+ # possible modifications or patches.
+ #version_tag="g${PV:6}${PR}"
+ #version_str="${PV//_/-}-${version_tag}"
+
+ # Create the Gentoo config file before Makefile.PL is called so it
+ # is copied later on.
+ #echo "version_tag ${version_tag}" > rules/11_gentoo.cf
+
+ # Setting the following env var ensures that no questions are asked.
+ perl-module_src_configure
+ # Configure spamc
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" spamc/Makefile
+}
+
+src_compile() {
+ export PERL_MM_USE_DEFAULT=1
+
+ # Now compile all the stuff selected.
+ perl-module_src_compile
+
+ if use qmail; then
+ emake spamc/qmail-spamc
+ fi
+
+}
+
+src_install () {
+ perl-module_src_install
+
+ # Create the stub dir used by sa-update and friends
+ keepdir /var/lib/spamassassin
+
+ # Move spamd to sbin where it belongs.
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/spamd "${ED}"/usr/sbin/spamd || die "move spamd failed"
+
+ if use qmail; then
+ dobin spamc/qmail-spamc
+ fi
+
+ ln -s mail/spamassassin "${ED}"/etc/spamassassin || die
+
+ # Disable plugin by default
+ sed -i -e 's/^loadplugin/\#loadplugin/g' "${ED}"/etc/mail/spamassassin/init.pre || die
+
+ # Add the init and config scripts.
+ newinitd "${FILESDIR}"/3.3.1-spamd.init spamd
+ newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd
+
+ if use systemd; then
+ systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+ systemd_install_serviced "${FILESDIR}"/${PN}.service.conf
+ fi
+
+ if use postgres; then
+ sed -i -e 's:@USEPOSTGRES@::' "${ED}/etc/init.d/spamd"
+
+ dodoc sql/*_pg.sql
+ else
+ sed -i -e '/@USEPOSTGRES@/d' "${ED}/etc/init.d/spamd"
+ fi
+
+ if use mysql; then
+ sed -i -e 's:@USEMYSQL@::' "${ED}/etc/init.d/spamd"
+
+ dodoc sql/*_mysql.sql
+ else
+ sed -i -e '/@USEMYSQL@/d' "${ED}/etc/init.d/spamd"
+ fi
+
+ dodoc NOTICE TRADEMARK CREDITS INSTALL.VMS UPGRADE USAGE \
+ sql/README.bayes sql/README.awl procmailrc.example sample-nonspam.txt \
+ sample-spam.txt spamd/PROTOCOL spamd/README.vpopmail \
+ spamd-apache2/README.apache
+
+ # Rename some docu files so they don't clash with others
+ newdoc spamd/README README.spamd
+ newdoc sql/README README.sql
+ newdoc ldap/README README.ldap
+
+ if use qmail; then
+ dodoc spamc/README.qmail
+ fi
+
+ cp "${FILESDIR}"/secrets.cf "${ED}"/etc/mail/spamassassin/secrets.cf.example || die
+ fperms 0400 /etc/mail/spamassassin/secrets.cf.example
+
+ cat <<-EOF > "${T}/local.cf.example"
+ # Sensitive data, such as database connection info, should be stored in
+ # /etc/mail/spamassassin/secrets.cf with appropriate permissions
+EOF
+
+ insinto /etc/mail/spamassassin/
+ doins "${T}/local.cf.example"
+}
+
+pkg_postinst() {
+ perl-module_pkg_postinst
+ elog "If you plan on using the -u flag to spamd, please read the notes"
+ elog "in /etc/conf.d/spamd regarding the location of the pid file.\n"
+ elog "If you build ${PN} with optional dependancy support,"
+ elog "you can enable them in /etc/mail/spamassassin/init.pre\n"
+ elog "You need to configure your database to be able to use Bayes filter"
+ elog "with database backend, otherwise it will still use (and need) the"
+ elog "Berkeley DB support."
+ elog "Look at the sql/README.bayes file in the documentation directory"
+ elog "for how to configure it.\n"
+ elog "If you plan to use Vipul's Razor, note that versions up to and"
+ elog "including version 2.82 include a bug that will slow down the entire"
+ elog "perl interpreter. Version 2.83 or later fixes this."
+ elog "If you do not plan to use this plugin, be sure to comment out"
+ elog "its loadplugin line in /etc/mail/spamassassin/v310.pre.\n"
+ elog "The DKIM plugin is now enabled by default for new installs,"
+ elog "if the perl module Mail::DKIM is installed."
+ elog "However, installation of SpamAssassin will not overwrite existing"
+ elog ".pre configuration files, so to use DKIM when upgrading from a"
+ elog "previous release that did not use DKIM, a directive:\n"
+ elog "loadplugin Mail::SpamAssassin::Plugin::DKIM"
+ elog "will need to be uncommented in file 'v312.pre', or added"
+ elog "to some other .pre file, such as local.pre.\n"
+ ewarn "Rules are no longer included with SpamAssassin out of the box".
+ ewarn "You will need to immediately run sa-update, or download"
+ ewarn "the additional rules .tgz package and run sa-update --install"
+ ewarn "with it, to get a ruleset.\n"
+ elog "If when you run sa-update and receive a GPG validation error."
+ elog "Then you need to import an updated sa-update key."
+ elog "sa-update --import /usr/share/spamassassin/sa-update-pubkey.txt\n"
+}