summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /mail-filter/spamassassin
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'mail-filter/spamassassin')
-rw-r--r--mail-filter/spamassassin/Manifest2
-rw-r--r--mail-filter/spamassassin/files/3.0.0-spamd.conf46
-rw-r--r--mail-filter/spamassassin/files/3.3.1-spamd.init46
-rw-r--r--mail-filter/spamassassin/files/secrets.cf14
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service14
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service-r115
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service.conf10
-rw-r--r--mail-filter/spamassassin/metadata.xml14
-rw-r--r--mail-filter/spamassassin/spamassassin-3.4.0.ebuild212
-rw-r--r--mail-filter/spamassassin/spamassassin-3.4.1.ebuild221
10 files changed, 594 insertions, 0 deletions
diff --git a/mail-filter/spamassassin/Manifest b/mail-filter/spamassassin/Manifest
new file mode 100644
index 000000000000..d91b4e1f3f48
--- /dev/null
+++ b/mail-filter/spamassassin/Manifest
@@ -0,0 +1,2 @@
+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
diff --git a/mail-filter/spamassassin/files/3.0.0-spamd.conf b/mail-filter/spamassassin/files/3.0.0-spamd.conf
new file mode 100644
index 000000000000..b3cd1acd8fa3
--- /dev/null
+++ b/mail-filter/spamassassin/files/3.0.0-spamd.conf
@@ -0,0 +1,46 @@
+# Config file for /etc/init.d/spamd
+
+
+# ***WARNING***
+# spamd was not designed to listed to an untrusted network. spamd
+# is vulnerable to DoS attacks (and eternal doom) if used to listen
+# to an untrusted network.
+#
+
+
+# Some options:
+#
+# -c to create a per user configuration file
+# -H [dir] to switch home dirs for helper apps, dir optional
+# -i [ip] to listen on the specified IP,
+# 127.0.0.1 if omitted,
+# 0.0.0.0 (ie. all) if given without value;
+# must be used in combination with -A to actually allow
+# connections from anybody but localhost
+# -m limit to set the number of children, default 5
+# -u user the user to run spamd as
+# -L if you want to run no net tests
+#
+# for more help look in man spamd
+#
+# Note: if you plan on using the -u flag to spamd you will need to
+# make sure the location of the PID file is writable by that user.
+# This can be done by making the directory /var/run/spamd and
+# changing the owner to the UID that runs spamd. You will then
+# need to edit $pidfile in /etc/init.d/spamd. This should fix the
+# problem with stop/restart in the init scripts.
+#
+# See http://bugs.gentoo.org/show_bug.cgi?id=70124 for a full
+# explanation.
+
+SPAMD_OPTS="-m 5 -c -H"
+
+# spamd stores its pid in this file. If you use the -u option to
+# run spamd under another user, you might need to adjust it.
+
+PIDFILE="/run/spamd.pid"
+
+# SPAMD_NICELEVEL lets you set the 'nice'ness of the running
+# spamd process
+
+# SPAMD_NICELEVEL=5
diff --git a/mail-filter/spamassassin/files/3.3.1-spamd.init b/mail-filter/spamassassin/files/3.3.1-spamd.init
new file mode 100644
index 000000000000..ac78e2200a17
--- /dev/null
+++ b/mail-filter/spamassassin/files/3.3.1-spamd.init
@@ -0,0 +1,46 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# NB: Config is in /etc/conf.d/spamd
+
+# Provide a default location if they haven't in /etc/conf.d/spamd
+PIDFILE=${PIDFILE:-/run/spamd.pid}
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+ before mta
+ use logger
+@USEPOSTGRES@ use postgresql
+@USEMYSQL@ use mysql
+}
+
+start() {
+ ebegin "Starting spamd"
+ start-stop-daemon --start --quiet \
+ --name spamd \
+ --nicelevel ${SPAMD_NICELEVEL:-0} \
+ --pidfile ${PIDFILE} \
+ --exec /usr/sbin/spamd -- -d -r ${PIDFILE} \
+ ${SPAMD_OPTS}
+ retval=$?
+ if ! [ -f "${PIDFILE}" ]; then
+ sleep 1
+ fi
+ eend ${retval} "Failed to start spamd"
+}
+
+stop() {
+ ebegin "Stopping spamd"
+ start-stop-daemon --stop --quiet --pidfile ${PIDFILE}
+ eend $? "Failed to stop spamd"
+}
+
+reload() {
+ ebegin "Reloading configuration"
+ start-stop-daemon --signal HUP --quiet --pidfile ${PIDFILE}
+ eend $?
+}
diff --git a/mail-filter/spamassassin/files/secrets.cf b/mail-filter/spamassassin/files/secrets.cf
new file mode 100644
index 000000000000..efa31a6fbc00
--- /dev/null
+++ b/mail-filter/spamassassin/files/secrets.cf
@@ -0,0 +1,14 @@
+# The below sample from bug 91430 is an example of using mysql
+# for spam filter storage
+
+#(Tell Spamassissin to use MySQL for bayes data
+#bayes_store_module Mail::SpamAssassin::BayesStore::SQL
+#bayes_sql_dsn DBI:mysql:sa_bayes:localhost:3306
+#bayes_sql_username db_name
+#bayes_sql_password another_very_secret_password
+
+#(Tell Spamassissin to use MySQL for AWL data
+#auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
+#user_awl_dsn DBI:mysql:sa_bayes:localhost:3306
+#user_awl_sql_username db_name
+#user_awl_sql_password another_very_secret_password
diff --git a/mail-filter/spamassassin/files/spamassassin.service b/mail-filter/spamassassin/files/spamassassin.service
new file mode 100644
index 000000000000..5c9e9edc2960
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Spamassassin daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/spamd.pid
+ExecStart=/usr/sbin/spamd -d --pidfile /var/run/spamd.pid -m 5 -c -H
+StandardOutput=syslog
+StandardError=syslog
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/spamassassin/files/spamassassin.service-r1 b/mail-filter/spamassassin/files/spamassassin.service-r1
new file mode 100644
index 000000000000..3d145817f129
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service-r1
@@ -0,0 +1,15 @@
+[Unit]
+Description=Spamassassin daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/run/spamd.pid
+ExecStart=/usr/sbin/spamd -d --pidfile /run/spamd.pid -m 5 $SPAMD_OPTS
+ExecReload=/bin/kill -HUP $MAINPID
+StandardOutput=syslog
+StandardError=syslog
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/spamassassin/files/spamassassin.service.conf b/mail-filter/spamassassin/files/spamassassin.service.conf
new file mode 100644
index 000000000000..9fc1f6294525
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service.conf
@@ -0,0 +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= -c -H"
diff --git a/mail-filter/spamassassin/metadata.xml b/mail-filter/spamassassin/metadata.xml
new file mode 100644
index 000000000000..822c9ad63fc5
--- /dev/null
+++ b/mail-filter/spamassassin/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+<use>
+ <flag name='qmail'>Build qmail functionality and docs</flag>
+ <flag name='bayes'>
+ Require a database (MySQL, SQLite, Postgres, or BerkDB) backend to
+ enable the Bayesian filtering database.
+ </flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/spamassassin/spamassassin-3.4.0.ebuild b/mail-filter/spamassassin/spamassassin-3.4.0.ebuild
new file mode 100644
index 000000000000..13a5bd8ef54b
--- /dev/null
+++ b/mail-filter/spamassassin/spamassassin-3.4.0.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit perl-module toolchain-funcs eutils systemd readme.gentoo
+
+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"
+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.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_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" || 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
+
+ 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 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.1.ebuild b/mail-filter/spamassassin/spamassassin-3.4.1.ebuild
new file mode 100644
index 000000000000..2e818ed2a9e0
--- /dev/null
+++ b/mail-filter/spamassassin/spamassassin-3.4.1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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() {
+ # Merged upstream
+ #epatch "${FILESDIR}/net-dns-0.76_compatibility.patch"
+ perl-module_src_prepare
+}
+
+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
+}