summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2015-05-14 06:53:33 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2015-05-14 06:53:33 +0000
commit491c884f73acd677c77a83cfa81aec117b36a40b (patch)
treeadd824b83d9180b9e854464236ccfc9ee5b119a0 /mail-filter
parentVersion bump. (diff)
downloadhistorical-491c884f73acd677c77a83cfa81aec117b36a40b.tar.gz
historical-491c884f73acd677c77a83cfa81aec117b36a40b.tar.bz2
historical-491c884f73acd677c77a83cfa81aec117b36a40b.zip
old
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/spamassassin/ChangeLog11
-rw-r--r--mail-filter/spamassassin/Manifest30
-rw-r--r--mail-filter/spamassassin/files/net-dns-0.76_compatibility.patch39
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.3.2-binary_token.patch13
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.3.2-innodb.patch114
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.3.2-mysql_count_rows.patch88
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch119
-rw-r--r--mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild225
-rw-r--r--mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild219
9 files changed, 11 insertions, 847 deletions
diff --git a/mail-filter/spamassassin/ChangeLog b/mail-filter/spamassassin/ChangeLog
index c5edfa579487..1ef536669fe4 100644
--- a/mail-filter/spamassassin/ChangeLog
+++ b/mail-filter/spamassassin/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for mail-filter/spamassassin
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/spamassassin/ChangeLog,v 1.270 2015/05/13 07:00:41 jmorgan Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/spamassassin/ChangeLog,v 1.271 2015/05/14 06:53:28 mr_bones_ Exp $
+
+ 14 May 2015; Michael Sterrett <mr_bones_@gentoo.org>
+ -files/net-dns-0.76_compatibility.patch,
+ -files/spamassassin-3.3.2-binary_token.patch,
+ -files/spamassassin-3.3.2-innodb.patch,
+ -files/spamassassin-3.3.2-mysql_count_rows.patch,
+ -files/spamassassin-3.3.2-perl518.patch, -spamassassin-3.3.2-r5.ebuild,
+ -spamassassin-3.4.0-r1.ebuild:
+ old
13 May 2015; Jack Morgan <jmorgan@gentoo.org> spamassassin-3.4.0.ebuild:
ppc64 stable wrt bug #537464
diff --git a/mail-filter/spamassassin/Manifest b/mail-filter/spamassassin/Manifest
index 1018ed8a925d..1fba89a8c05a 100644
--- a/mail-filter/spamassassin/Manifest
+++ b/mail-filter/spamassassin/Manifest
@@ -1,40 +1,12 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
AUX 3.0.0-spamd.conf 1523 SHA256 02e2625617215f61909bbac603e1aa4846d8a99cc93d14cbf0f5212f9809159f SHA512 224d72d0ca118d419d8c2af7b00cd16c76896ebcff1860bcdc7172d104a9be419adc09fd25ef7ce76e2bc0a0411ef9c46ed9cdee405ad9222dee4ca2e6fe6388 WHIRLPOOL 977a5075298728b3022604fd24fe41649e29f7fc4a0391c819608c8acfbcd9f79f7d15f24c069eae2b334fd570fe6abe0b0c8c8ce877244727bef84e908d9094
AUX 3.3.1-spamd.init 1076 SHA256 6d7fc294587625cd6f790dacede74cbafd6d86dbefbe4fcf33bfa40e8e918678 SHA512 1596199958b170b48c344324412f835e45e1a48e17be66a1e383c7cd2d906d17f80d906b51b3d09035ce9849e4090fce9ce58f42937738995d91dec64415a820 WHIRLPOOL 3dd0767ba317fc499c9b1ba234223456a6d9375f1dec0c13911ed66b4594aa79bd50271fdb922c364d3f7fb72da01555b5adae2acbe991d2b9d6b4773954566b
-AUX net-dns-0.76_compatibility.patch 1958 SHA256 bb328f92e6bec18bd351fc52e711c9d23b09911592ddeaed43601c4ce5c46445 SHA512 ea1eb17255accbca2a1280e94dbe5853886f6bf9ca9e41546c2425921586fc6cd05b043ddd312fd3d9c105902d3817ca304a4c8cee443da4bdff0abf20f67069 WHIRLPOOL 832f63e742639233e77a9afd334053ba6c32a40c7d855ecc36a6db1d6ac4f871a23bd0e398d73b6e9b7ee6ff48ee319110751d8174e0462942ff70c407189268
AUX secrets.cf 664 SHA256 9f134c7b857b21689f612fc6d131f719e5a65e2ba341b282e7aa57402c854139 SHA512 bb6992098a44e16147be46b75b70e3fb81672285dd71a30719606e2cab556720fc9dd318c7a80832ceaf2e6d9c98c2dd7434f48242feede1922c3e1073559edb WHIRLPOOL 1eccfd765106199312fb23581612b810b92fe8cc3e94b9c4964bcf550ac68bab1e88af07d5324a2be11111cf04f941f4bcfe5482bc71c72ef5ab35be53512ebc
-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 323 SHA256 960eb0115ac4e70981f9a4350767e001cdabb244f5cd6d169d713fa05f662f3b SHA512 3c9356d1a24f73c3a3374398058c8e7cb9875ee98a1b6bb96d5a6d9ec2de4de527717f12d809b40d4d768958e098f6e5e04803018f9b7e46a0322cd9319c0923 WHIRLPOOL a2c4faf6788132cec2b4781aedd55c859f45ec6555e40ba078c9890d857971ba3b8b8114c48cc9bbbffa0dd4ac3cc24d0e52e8f6af78325ad259718e867f3c00
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
DIST Mail-SpamAssassin-3.4.0.tar.bz2 1065544 SHA256 553b39bae969b4ba20854c0a0fa1eba2a6aa0f4e103b530e0da4e152cdce4714 SHA512 4a04604a0331a9c23cd10d4fb58e5ca5d3e592bbeffacf0f89b379e5b46118f8b1500d671606a2407115f90fb633a713c8ed557f0db155f4645e263175b0946c WHIRLPOOL 401d61a0ab8bd906b14effb0125aeb3b1a87cdd115484b0787410a03208208e6dfb3c7a440c82ff2334c093555ac7e4eae8b9fc735de5e503f1396a172cec927
DIST Mail-SpamAssassin-3.4.1.tar.bz2 2710985 SHA256 a0c1c9808f0684b389594eb8b2ccbace6486546593493f9308c9554563d14651 SHA512 91d50e2ce6520e3e1c7bc66da133a0815be34ced15e26b6e6c17af5a03d5c62f41d8086f25f65084d6634497148cf5439977d7d4a44d7c3e307535beac6629af WHIRLPOOL 1465fcbc0456c9a671087d395c2a9998e3852a47153a0f6770158a2a311196490274c620aab89e2a6ff163defa72b8e785032f9450e7903df355544d957e8908
-EBUILD spamassassin-3.3.2-r5.ebuild 7256 SHA256 c0fe3ae4dfb105f1a569edc4dfd17b2f067469ff8535a3bc51707516565ecb17 SHA512 a5302b95cbeabffa8372cea671718a3829761eeda7a5e4ee07f82987d356993d37efb48cd4389fe0ebd8ea745f119427c0b8fa5ef0e98a7d0498f792f55ef553 WHIRLPOOL a31a700d58922a4edbe14b65ad61d2f1ea5c3939b832ae4cd7e95462af621fce1dc995bdbe3933bf9674dd9675eb6a83b2417170635faa92d507aa73719c4227
-EBUILD spamassassin-3.4.0-r1.ebuild 6668 SHA256 0733b7052fb5fd9f8b546b7d668c39473091d3ad22e546dbf3c22bfb8c825af8 SHA512 dc4da41f272a50c547ecfd31d0f1bb418d4096edea6546505a6514a6b292f83c05a7c66ec533062bba8ecd222a8a600d91c9dfee9b18435277ed0fc2bd51bb92 WHIRLPOOL 1f84bda1afddcac60809dba493bee707fc2b68bdf01fb504ce7fd7e0a845efaccec9c250ea58e65dabd31ead7f889a94cc4ae2d7c22b348273d357608642542c
EBUILD spamassassin-3.4.0.ebuild 6807 SHA256 b912a8bcae3a1ad6dbcb261ff0f4cae59a5c27f8f3a60f304f7c94f65329d5a3 SHA512 838ee7a8a899103fc799ca320516731e65e1cfb6fc1cad2b41ffe34e1d6525f24855f57b65f79d219e2bc5b49244025383217821d8af7883cea19dd4e80e9e25 WHIRLPOOL 9fc409361558925d46ba57e9f55bbb96e6d7a95a33fd2cc24a37a0dff6b42277810cb54aceffda3d0170c1b20ab3be959bcf4c7230d9274a23faa849c009021d
EBUILD spamassassin-3.4.1.ebuild 6714 SHA256 40c5a38005f0383ec00e9aee6edf753442264d9f5cb566fe80fb1197dd8e8519 SHA512 f7231761d4148cfba828bd7cc1bfc7c474ab944743f1e1ad9d46d108d02629204420929f4d4ecdd396fdd1f7dd87b49a327ee1df05737af352426ebea8cbb22c WHIRLPOOL 3d32ae53585efe89dd70a1f3ebfcb7262bf926ac1dc45f8f9098d75b83553ddd138d2cd1537203c37832befa2c645f4f3896d15232c26fef585afebdbabd6c90
-MISC ChangeLog 50078 SHA256 15b776f9416a774047a1808d1f73d669e8f4da27d9fece80e73e7bbb02019395 SHA512 bf371f827c48fdb2450c771d8c7718a9c161a6ea5d269eeebcf62787dcb40834322ffa1e6a84894fd273d177ef892c0d15bbd7cd1119875abf5f35bcf460a9c5 WHIRLPOOL 2e456f14a749f6f6abfc894b7ded3153848a46386d2133c08ffa6756eacd9b5ba83325ccc128f447f598c5c4473225a8f81ba8ee18f5a29a6479dfbf46c24893
+MISC ChangeLog 50434 SHA256 c3346f6e5bc71f22cd441184a6242bb3fe146f0b14e87365e9007e48ee86e5e9 SHA512 575db565453ecb6c9f0b4e0d155647a68b0e6dd57bd4b90d2f41a7dd82522b3ecb5b6401bfa6edefaf2b7bd8f252cebde03e9cbbdf8e8d95dc596216c4a43359 WHIRLPOOL b5600e57eb295607d953b3c8345ec644b2c6e40084200d5ae8e3d14c2d8ff04d2e91d788a1a04ed8e367c4f5aeeeb0da637e684432f623fffcfb7b1c96d78cb6
MISC metadata.xml 441 SHA256 473af2c203113f5a0d3278b0463629db003fd3f8ae35b0a7bb4708da70ddb8d3 SHA512 00da607df1ad621ae35b2e9f6b4578c20a5e5ee359485fd4e47de4ad043ecda2505e9d57bdb26e608f2134f83e60e43855acb53aae91c0b909fa1087383c9134 WHIRLPOOL ecc66cb8342ef2d7d734d51ee42bcb1a00e795d0a4a28b2d616fe0d0991eb7b399b19b090d6e641fb72351dd8b2f5d45d239bb5a9adedefdd1882c1ec418e302
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
-
-iQIcBAEBCAAGBQJVUvaJAAoJEL9Txpt2HY4KUpsP/3QZYQapasFEAoFDXl9bQdVw
-OtFPUgdFYVAHtZ3E8vDTBLRzFlOpP/XgxcSXr2YqhAys82+iKLwxO/5FX0ftZP+G
-CwHcHCzGFyMOeKM+5O6kHM5M0ER3qmK/ZzKg/4Q1pSu3TU0bvh+J04QaYnYEMOQq
-PqdFLQ7zMzQdcZezI/mlA69F2w766JG93/IeB/QB1dH6KS+Y0ziL4rInm/tXyKFj
-F9o+diHoC8mKLp8/wZ07AbbbMk0yu0e+PIIw+WME/7Uc5Qbl6B7O56R+Hc+FrSdc
-NVinSFbC9Xb8asjflTaRHMZAo7Zor6VwUZMM0X2Ez/jGBf/o5m5cM91Yrhul7nw0
-BQlLwNycDZefQtpUjulKhAJ1jPZXQWYUWkUwxZR05loMGO7Cf3H/HO99PeD40hsE
-1M02egvQwUCjc8qSxV2NLjPvd36SZrNOVsQCwvr73UAErovcEZ9ptNi/g1gmNMwl
-fWZKqFBYN3COid6pd/pyEho0IbD54FzV23CGpv5h6NRVLvGKPdAMFTb0Jsy9BGSC
-NaqCyelDFPy14JRiop7ENP5UtVOZE+2RlNt9RlpoHmb27QGd9unYZ/yUxJlv4+Dj
-yWHgCfRaBBWzoVcX3wd7q0M2giKeFjnGDLeItF1ydCRZ1BYswpVHItZzdDaZYiTT
-AfiQZlockDw2Ld6IjEx8
-=vvYT
------END PGP SIGNATURE-----
diff --git a/mail-filter/spamassassin/files/net-dns-0.76_compatibility.patch b/mail-filter/spamassassin/files/net-dns-0.76_compatibility.patch
deleted file mode 100644
index 2d882313848e..000000000000
--- a/mail-filter/spamassassin/files/net-dns-0.76_compatibility.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From the upstream bug report at,
-
- https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7057
-
-Net::DNS version 0.76 changed the field name holding a set of nameservers
-in a Net::DNS::Resolver object: it used to be 'nameservers',
-but is now split into two fields: 'nameserver4' and 'nameserver6'.
-
-Mail/SpamAssassin/DnsResolver.pm relied on the internal field name
-of a Net::DNS::Resolver object to obtain a default list of
-recursive name servers, so the change in Net::DNS broke that.
-
-As a result, SpamAssassin now fails DNS checks and reports:
- dns: eval failed: available_nameservers: No DNS servers available!
-when used with Net::DNS 0.76 or later and no DNS servers are
-configured explicitly in a custom .cf file (config option: dns_server).
-
-The problem was reported by Walter Hurry on a mailing list, 2014-06-17.
-
-The solution is to use an official access method to obtain this
-information from Net::DNS::Resolver. Apparently early versions
-of Net::DNS lacked such official access method, which is why we
-needed to peek under the Net::DNS hood.
-
---- spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm 2014/06/18 16:47:04 1603517
-+++ spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm 2014/06/18 16:48:04 1603518
-@@ -204,8 +204,10 @@
- @ns_addr_port = @{$self->{conf}->{dns_servers}};
- dbg("dns: servers set by config to: %s", join(', ',@ns_addr_port));
- } elsif ($res) { # default as provided by Net::DNS, e.g. /etc/resolv.conf
-- @ns_addr_port = map(untaint_var("[$_]:" . $res->{port}),
-- @{$res->{nameservers}});
-+ my @ns = $res->UNIVERSAL::can('nameservers') ? $res->nameservers
-+ : @{$res->{nameservers}};
-+ my $port = $res->UNIVERSAL::can('port') ? $res->port : $res->{port};
-+ @ns_addr_port = map(untaint_var("[$_]:" . $port), @ns);
- dbg("dns: servers obtained from Net::DNS : %s", join(', ',@ns_addr_port));
- }
- return @ns_addr_port;
diff --git a/mail-filter/spamassassin/files/spamassassin-3.3.2-binary_token.patch b/mail-filter/spamassassin/files/spamassassin-3.3.2-binary_token.patch
deleted file mode 100644
index 5ce5c0d90827..000000000000
--- a/mail-filter/spamassassin/files/spamassassin-3.3.2-binary_token.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: sql/bayes_mysql.sql
-===================================================================
---- sql/bayes_mysql.sql (revision 1139005)
-+++ sql/bayes_mysql.sql (working copy)
-@@ -22,7 +22,7 @@
-
- CREATE TABLE bayes_token (
- id int(11) NOT NULL default '0',
-- token char(5) NOT NULL default '',
-+ token binary(5) NOT NULL default '',
- spam_count int(11) NOT NULL default '0',
- ham_count int(11) NOT NULL default '0',
- atime int(11) NOT NULL default '0',
diff --git a/mail-filter/spamassassin/files/spamassassin-3.3.2-innodb.patch b/mail-filter/spamassassin/files/spamassassin-3.3.2-innodb.patch
deleted file mode 100644
index 8bf13720c6e1..000000000000
--- a/mail-filter/spamassassin/files/spamassassin-3.3.2-innodb.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-Index: sql/README.bayes
-===================================================================
---- sql/README.bayes (revision 1139008)
-+++ sql/README.bayes (working copy)
-@@ -17,27 +17,37 @@
- bayes_store_module Mail::SpamAssassin::BayesStore::SQL
-
- This directive is used by the Bayes module to determine which storage
--module should be used. If not set it will default to:
-+module should be used. If not set it will default to:
- Mail::SpamAssassin::BayesStore::DBM
-
-+The storage module Mail::SpamAssassin::BayesStore::SQL is an older generic
-+SQL module which can be also be used with versions of MySQL which did not
-+have support for an InnoDB engine and transactions. If choosing this module
-+consider replacing the InnoDB engine with MyISAM (explicitly or defaulted)
-+in the schema (files bayes_mysql.sql and awl_mysql.sql). Note that old
-+versions of MySQL expect syntax TYPE=MyISAM instead of ENGINE=MyISAM,
-+while newer versions throw a syntax error on TYPE and only allow ENGINE.
-+In short: replace ENGINE=InnoDB with TYPE=MyISAM (or just leave it out)
-+in the bayes_mysql.sql and awl_mysql.sql schemas if ENGINE=InnoDB is not
-+accepted.
-+
-+There is also a MySQL specific storage driver available to provides a
-+small boost in performance. It requires version 4.1 or above of the
-+MySQL database software to work properly. In addition, it provides
-+rollback on error functionality if you create your bayes database table
-+using the InnoDB storage engine. WARNING: Using this module with a version
-+of MySQL < 4.1 could have unexpected results. To use the MySQL 4.1+
-+specific module set your bayes_store_module directive accordingly:
-+ bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
-+
- PostgreSQL users will want to use the PostgreSQL specific storage
- module:
--bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
-+ bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
- This module provides a slightly different interface to makes better
- use of the resources that PostgreSQL offers. In addition, please make
- sure that you follow the instructions below for loading the proper
- procedural language and installing the tables and stored procedure.
-
--There is also a MySQL specific storage driver available to provides a
--small boost in performance. It requires version 4.1 or above of the
--MySQL database software to work properly. In addition, it provides
--rollback on error functionality if you create your bayes database
--table using the InnoDB storage engine (ie s/MyISAM/InnoDB/ on the
--bayes_mysql.sql file). WARNING: Using this module with a version of
--MySQL < 4.1 could have unexpected results. To use the MySQL 4.1+
--specific module set your bayes_store_module directive accordingly:
--bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
--
- Additional configuration directives provided by BayesSQL:
-
- bayes_sql_dsn DBI:driver:database:hostname[:port]
-Index: sql/awl_mysql.sql
-===================================================================
---- sql/awl_mysql.sql (revision 1139008)
-+++ sql/awl_mysql.sql (working copy)
-@@ -1,9 +1,9 @@
- CREATE TABLE awl (
- username varchar(100) NOT NULL default '',
-- email varchar(255) NOT NULL default '',
-+ email varbinary(255) NOT NULL default '',
- ip varchar(40) NOT NULL default '',
- count int(11) NOT NULL default '0',
- totscore float NOT NULL default '0',
- signedby varchar(255) NOT NULL default '',
- PRIMARY KEY (username,email,signedby,ip)
--) TYPE=MyISAM;
-+) ENGINE=InnoDB;
-Index: sql/bayes_mysql.sql
-===================================================================
---- sql/bayes_mysql.sql (revision 1139008)
-+++ sql/bayes_mysql.sql (working copy)
-@@ -3,13 +3,13 @@
- id int(11) NOT NULL default '0',
- runtime int(11) NOT NULL default '0',
- KEY bayes_expire_idx1 (id)
--) TYPE=MyISAM;
-+) ENGINE=InnoDB;
-
- CREATE TABLE bayes_global_vars (
- variable varchar(30) NOT NULL default '',
- value varchar(200) NOT NULL default '',
- PRIMARY KEY (variable)
--) TYPE=MyISAM;
-+) ENGINE=InnoDB;
-
- INSERT INTO bayes_global_vars VALUES ('VERSION','3');
-
-@@ -18,7 +18,7 @@
- msgid varchar(200) binary NOT NULL default '',
- flag char(1) NOT NULL default '',
- PRIMARY KEY (id,msgid)
--) TYPE=MyISAM;
-+) ENGINE=InnoDB;
-
- CREATE TABLE bayes_token (
- id int(11) NOT NULL default '0',
-@@ -28,7 +28,7 @@
- atime int(11) NOT NULL default '0',
- PRIMARY KEY (id, token),
- INDEX bayes_token_idx1 (id, atime)
--) TYPE=MyISAM;
-+) ENGINE=InnoDB;
-
- CREATE TABLE bayes_vars (
- id int(11) NOT NULL AUTO_INCREMENT,
-@@ -43,4 +43,4 @@
- newest_token_age int(11) NOT NULL default '0',
- PRIMARY KEY (id),
- UNIQUE bayes_vars_idx1 (username)
--) TYPE=MyISAM;
-+) ENGINE=InnoDB;
diff --git a/mail-filter/spamassassin/files/spamassassin-3.3.2-mysql_count_rows.patch b/mail-filter/spamassassin/files/spamassassin-3.3.2-mysql_count_rows.patch
deleted file mode 100644
index 54ee5573dadc..000000000000
--- a/mail-filter/spamassassin/files/spamassassin-3.3.2-mysql_count_rows.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- lib/Mail/SpamAssassin/BayesStore/MySQL.pm (revision 1138970)
-+++ lib/Mail/SpamAssassin/BayesStore/MySQL.pm (working copy)
-@@ -840,14 +840,28 @@
- return 0;
- }
-
-+ # With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if
-+ # the row is inserted as a new row and 2 if an existing row is updated.
-+ #
-+ # Due to a MySQL server bug a value of 3 can be seen.
-+ # See: http://bugs.mysql.com/bug.php?id=46675
-+ # When executing the INSERT ... ON DUPLICATE KEY UPDATE statement
-+ # and checking the rows return count:
-+ # mysql_client_found_rows = 0: The second INSERT returns a row count
-+ # of 2 in all MySQL versions.
-+ # mysql_client_found_rows = 1: The second INSERT returns this row count:
-+ # Before MySQL 5.1.20: 2
-+ # MySQL 5.1.20: undef on Mac OS X, 139775481 on Linux (garbage?)
-+ # MySQL 5.1.21 and up: 3
-+ #
- my $num_rows = $rc;
-
- $sth->finish();
-
-- if ($num_rows == 1 || $num_rows == 2) {
-+ if ($num_rows == 1 || $num_rows == 2 || $num_rows == 3) {
- my $token_count_update = '';
-
-- $token_count_update = "token_count = token_count + 1," if ($num_rows == 1);
-+ $token_count_update = "token_count = token_count + 1," if $num_rows == 1;
- $sql = "UPDATE bayes_vars SET
- $token_count_update
- newest_token_age = GREATEST(newest_token_age, ?),
-@@ -872,7 +886,11 @@
- }
- else {
- # $num_rows was not what we expected
-- dbg("bayes: _put_token: Updated an unexpected number of rows.");
-+ my $token_displ = $token;
-+ $token_displ =~ s/(.)/sprintf('%02x',ord($1))/egs;
-+ dbg("bayes: _put_token: Updated an unexpected number of rows: %s, ".
-+ "id: %s, token (hex): %s",
-+ $num_rows, $self->{_userid}, $token_displ);
- $self->{_dbh}->rollback();
- return 0;
- }
-@@ -987,8 +1005,24 @@
- else {
- my $num_rows = $rc;
-
-- $need_atime_update_p = 1 if ($num_rows == 1 || $num_rows == 2);
-- $new_tokens++ if ($num_rows == 1);
-+ # With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if
-+ # the row is inserted as a new row and 2 if an existing row is updated.
-+ # But see MySQL bug (as above): http://bugs.mysql.com/bug.php?id=46675
-+
-+ if ($num_rows == 1) {
-+ $new_tokens++;
-+ $need_atime_update_p = 1;
-+ } elsif ($num_rows == 2 || $num_rows == 3) {
-+ $need_atime_update_p = 1;
-+ } else {
-+ # $num_rows was not what we expected
-+ my $token_displ = $token;
-+ $token_displ =~ s/(.)/sprintf('%02x',ord($1))/egs;
-+ dbg("bayes: _put_tokens: Updated an unexpected number of rows: %s, ".
-+ "id: %s, token (hex): %s",
-+ $num_rows, $self->{_userid}, $token_displ);
-+ $error_p = 1;
-+ }
- }
- }
-
-@@ -1026,10 +1060,10 @@
- }
- }
- else {
-- # $num_rows was not what we expected
-- dbg("bayes: _put_tokens: Updated an unexpected number of rows.");
-- $self->{_dbh}->rollback();
-- return 0;
-+ info("bayes: _put_tokens: no atime updates needed? Num of tokens: %d",
-+ scalar keys %{$tokens});
-+# $self->{_dbh}->rollback();
-+# return 0;
- }
- }
-
diff --git a/mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch b/mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch
deleted file mode 100644
index 6588eb1d928a..000000000000
--- a/mail-filter/spamassassin/files/spamassassin-3.3.2-perl518.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-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/spamassassin-3.3.2-r5.ebuild b/mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild
deleted file mode 100644
index 16fd1ab7cc67..000000000000
--- a/mail-filter/spamassassin/spamassassin-3.3.2-r5.ebuild
+++ /dev/null
@@ -1,225 +0,0 @@
-# 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.13 2014/11/30 21:24:44 dilfridge 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 qmail ssl doc ldap mysql postgres sqlite ipv6"
-
-REQUIRED_USE="|| ( berkdb mysql postgres sqlite )"
-
-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
-
- systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
- systemd_install_serviced "${FILESDIR}"/${PN}.service.conf
-
- 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() {
- 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"
-}
diff --git a/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild b/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild
deleted file mode 100644
index 3cc06507e56d..000000000000
--- a/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild,v 1.1 2015/02/27 23:30:33 mjo Exp $
-
-EAPI=5
-
-inherit perl-module toolchain-funcs eutils systemd readme.gentoo
-
-MY_P=Mail-SpamAssassin-${PV//_/-}
-S=${WORKDIR}/${MY_P}
-DESCRIPTION="An extensible mail filter which can identify and tag 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"
-IUSE="+bayes berkdb qmail ssl doc ldap mysql postgres sqlite ipv6"
-
-# You can do without a database unless you need the Bayes features.
-REQUIRED_USE="bayes? ( || ( berkdb mysql postgres sqlite ) )"
-
-DEPEND=">=dev-lang/perl-5.8.8-r8
- virtual/perl-MIME-Base64
- >=virtual/perl-Pod-Parser-1.510.0-r2
- 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.23
- app-crypt/gnupg
- >=virtual/perl-IO-Zlib-1.04
- >=dev-util/re2c-0.12.0
- dev-perl/Mail-SPF
- >=dev-perl/NetAddr-IP-4.0.1
- dev-perl/Geo-IP
- dev-perl/Encode-Detect
- dev-perl/Net-Patricia
- 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
- virtual/perl-IO-Socket-IP )
- )"
-RDEPEND="${DEPEND}"
-
-SRC_TEST="do"
-
-src_prepare() {
- epatch "${FILESDIR}/net-dns-0.76_compatibility.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"
- myconf+=" 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"
-
- # 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 "failed to disable plugins by default"
-
- # Add the init and config scripts.
- newinitd "${FILESDIR}"/3.3.1-spamd.init spamd
- newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd
-
- systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
- systemd_install_serviced "${FILESDIR}"/${PN}.service.conf
-
- if use postgres; then
- sed -i -e 's:@USEPOSTGRES@::' "${ED}/etc/init.d/spamd" || die
-
- dodoc sql/*_pg.sql
- else
- sed -i -e '/@USEPOSTGRES@/d' "${ED}/etc/init.d/spamd" || die
- fi
-
- if use mysql; then
- sed -i -e 's:@USEMYSQL@::' "${ED}/etc/init.d/spamd" || die
-
- dodoc sql/*_mysql.sql
- else
- sed -i -e '/@USEMYSQL@/d' "${ED}/etc/init.d/spamd" || die
- 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
-
- insinto /etc/mail/spamassassin/
- insopts -m0400
- newins "${FILESDIR}"/secrets.cf 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
-
- insopts -m0644
- doins "${T}/local.cf.example"
-}
-
-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."
- elog
- elog "If you build ${PN} with optional dependancy support,"
- elog "you can enable them in /etc/mail/spamassassin/init.pre"
- elog
- 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."
- elog
- 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."
- elog
- 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:"
- elog
- 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."
- elog
- 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."
- elog
- elog "If 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"
- elog
-}