public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-filter/amavisd-new/
Date: Fri, 21 Feb 2020 06:08:49 +0000 (UTC)	[thread overview]
Message-ID: <1582263720.a30c37ecf9d93913f9d79aacefe2ca8e0c655c99.juippis@gentoo> (raw)

commit:     a30c37ecf9d93913f9d79aacefe2ca8e0c655c99
Author:     Ralph Seichter <github <AT> seichter <DOT> de>
AuthorDate: Fri Feb 14 10:31:00 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Feb 21 05:42:00 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a30c37ec

mail-filter/amavisd-new: Migrate to GLEP 81

Updated ebuild uses acct-user/amavis.

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Ralph Seichter <gentoo <AT> seichter.de>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../amavisd-new/amavisd-new-2.12.0-r1.ebuild       | 198 +++++++++++++++++++++
 1 file changed, 198 insertions(+)

diff --git a/mail-filter/amavisd-new/amavisd-new-2.12.0-r1.ebuild b/mail-filter/amavisd-new/amavisd-new-2.12.0-r1.ebuild
new file mode 100644
index 00000000000..f68990e14fa
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.12.0-r1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit systemd
+
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://gitlab.com/amavis/amavis"
+SRC_URI="https://gitlab.com/amavis/amavis/-/archive/v${PV}/amavis-v${PV}.tar.bz2"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor rspamd rspamd-https snmp spamassassin zmq"
+
+MY_RSPAMD_DEPEND="( dev-perl/JSON dev-perl/HTTP-Message dev-perl/LWP-UserAgent-Determined )"
+BDEPEND="acct-user/amavis"
+RDEPEND="${BDEPEND}
+	>=dev-lang/perl-5.10.0
+	app-arch/arc
+	app-arch/bzip2
+	app-arch/cabextract
+	app-arch/cpio
+	app-arch/gzip
+	app-arch/lha
+	app-arch/lrzip
+	app-arch/lzop
+	app-arch/ncompress
+	app-arch/p7zip
+	app-arch/pax
+	app-arch/unarj
+	app-arch/unrar
+	app-arch/xz-utils
+	app-arch/zoo
+	clamav? ( app-antivirus/clamav )
+	>=dev-perl/Archive-Zip-1.14
+	dev-perl/BerkeleyDB
+	dev-perl/Convert-BinHex
+	dev-perl/File-LibMagic
+	dev-perl/IO-Socket-SSL
+	dev-perl/IO-stringy
+	>=dev-perl/Mail-DKIM-0.31
+	>=dev-perl/MailTools-1.58
+	>=dev-perl/MIME-tools-5.415
+	dev-perl/Net-LibIDN
+	>=dev-perl/Net-Server-0.91
+	dev-perl/Net-SSLeay
+	dev-perl/Unix-Syslog
+	ldap? ( >=dev-perl/perl-ldap-0.33 )
+	mysql? ( dev-perl/DBD-mysql )
+	net-mail/ripole
+	net-mail/tnef
+	postgres? ( dev-perl/DBD-Pg )
+	razor? ( mail-filter/razor )
+	rspamd? ( ${MY_RSPAMD_DEPEND} )
+	rspamd-https? ( ${MY_RSPAMD_DEPEND} dev-perl/LWP-Protocol-https dev-perl/Net-SSLeay )
+	snmp? ( net-analyzer/net-snmp[perl] )
+	spamassassin? ( mail-filter/spamassassin dev-perl/Image-Info )
+	>=sys-apps/coreutils-5.0-r3
+	>=sys-libs/db-4.4.20
+	virtual/mta
+	>=virtual/perl-Compress-Raw-Zlib-2.017
+	virtual/perl-Digest-MD5
+	virtual/perl-File-Temp
+	>=virtual/perl-IO-Compress-1.35
+	virtual/perl-IO-Socket-IP
+	virtual/perl-MIME-Base64
+	>=virtual/perl-Time-HiRes-1.49
+	zmq? ( dev-perl/ZMQ-LibZMQ3 )"
+
+AMAVIS_ROOT="/var/lib/amavishome"
+S="${WORKDIR}/amavis-v${PV}"
+
+src_prepare() {
+	if use courier ; then
+		eapply -p0 amavisd-new-courier.patch
+	fi
+
+	if use qmail ; then
+		eapply -p0 amavisd-new-qmqpqq.patch
+	fi
+
+	# We need to fix the daemon_user and daemon_group in amavis-mc even
+	# though we're going to run it in the foreground, because it calls
+	# "drop_priv" unconditionally and will crash if its user/group
+	# doesn't exist.
+	sed -i	\
+		-e '/daemon/s/vscan/amavis/' \
+		-e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+		"${S}/amavisd.conf" "${S}/amavis-mc" || die "missing conf file"
+
+	if ! use dkim ; then
+		sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+			|| die "missing conf file - dkim"
+	fi
+
+	if use zmq ; then
+		sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf" \
+			|| die "missing conf file - zmq"
+	fi
+
+	if ! use spamassassin ; then
+		sed -i -e \
+			"/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+			"${S}/amavisd.conf" || die "missing conf file - sa"
+	fi
+
+	eapply_user
+}
+
+src_install() {
+	dosbin amavisd{,-agent,-nanny,-release,-signer,-status}
+	dobin p0f-analyzer.pl amavisd-submit
+
+	if use snmp ; then
+		dosbin amavisd-snmp-subagent
+		newinitd "${FILESDIR}/amavisd-snmp-subagent.initd" \
+				 amavisd-snmp-subagent
+		dodoc AMAVIS-MIB.txt
+
+		if use zmq ; then
+			dosbin amavisd-snmp-subagent-zmq
+			newinitd "${FILESDIR}/amavisd-snmp-subagent-zmq.initd" \
+					 amavisd-snmp-subagent-zmq
+		fi
+	fi
+
+	if use zmq ; then
+		dosbin amavis-services amavis-mc
+		newinitd "${FILESDIR}/amavis-mc.initd-r1" amavis-mc
+	fi
+
+	if use ldap ; then
+		insinto /etc/openldap/schema
+		newins LDAP.schema "${PN}.schema"
+	fi
+
+	# The config file should be root:amavis so that the amavis user can
+	# read (only) it after dropping privileges. And of course he should
+	# own everything in his home directory.
+	insinto /etc
+	insopts -m0640 -g amavis
+	doins amavisd.conf
+
+	# Implementation detail? Keepdir calls dodir under the hood.
+	diropts -o amavis -g amavis
+	keepdir "${AMAVIS_ROOT}"/{,db,quarantine,tmp,var}
+
+	# BEWARE:
+	#
+	# Anything below this line is using the mangled insopts/diropts from
+	# above!
+	#
+
+	newinitd "${FILESDIR}/amavisd.initd-r2" amavisd
+
+	systemd_newunit "${FILESDIR}/amavisd.service-r1" amavisd.service
+
+	dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+		amavisd.conf-default amavisd-custom.conf
+
+	docinto README_FILES
+	dodoc README_FILES/README*
+	dodoc -r README_FILES/*.{html,css}
+	docinto README_FILES/images
+	dodoc README_FILES/images/*.png
+	docinto README_FILES/images/callouts
+	dodoc README_FILES/images/callouts/*.png
+
+	docinto test-messages
+	dodoc test-messages/README
+	dodoc test-messages/sample.tar.gz.compl
+}
+
+pkg_preinst() {
+	# TODO: the following is done as root, but should probably be done
+	# as the amavis user.
+	if use razor ; then
+		if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+			elog "Setting up initial razor config files..."
+
+			razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+			sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+				"${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf" || die
+		fi
+	fi
+}
+
+pkg_postinst() {
+	local d="/var/amavis"
+	if [ -d ${d} ]; then
+		elog "Existing data found. Please make sure to manually copy it to amavis' new"
+		elog "home directory by executing the following command as root from a shell:"
+		elog
+		elog "  cp -a ${d}/* ${d}/.??* ${AMAVIS_ROOT}/ && rm -r ${d}"
+		elog
+	fi
+}


             reply	other threads:[~2020-02-21  6:08 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-21  6:08 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-12-18 20:22 [gentoo-commits] repo/gentoo:master commit in: mail-filter/amavisd-new/ Mike Gilbert
2023-12-14  4:13 Sam James
2023-06-28  7:37 Sam James
2023-06-28  7:37 Sam James
2022-09-06  1:10 Mike Gilbert
2022-03-01 13:57 Ionen Wolkens
2022-02-28 10:14 Agostino Sarubbo
2022-02-28 10:14 Agostino Sarubbo
2022-02-27 13:43 Jakov Smolić
2022-02-27 13:17 Jakov Smolić
2022-02-27  8:57 Agostino Sarubbo
2022-01-31  1:01 Sam James
2021-12-09  6:52 Ionen Wolkens
2021-12-06 11:31 Agostino Sarubbo
2021-12-06  8:06 Agostino Sarubbo
2021-12-06  8:05 Agostino Sarubbo
2021-12-06  8:04 Agostino Sarubbo
2021-12-06  8:01 Agostino Sarubbo
2021-02-04 22:33 Thomas Deutschmann
2020-10-15 22:12 Thomas Deutschmann
2020-09-13 20:43 James Le Cuirot
2020-09-13 20:43 James Le Cuirot
2020-09-07 20:05 James Le Cuirot
2020-09-07 20:05 James Le Cuirot
2020-07-18 18:05 Sam James
2020-06-20 15:45 Thomas Deutschmann
2020-05-25  9:36 Sergei Trofimovich
2020-05-22  8:02 Sergei Trofimovich
2020-05-18 16:46 Sergei Trofimovich
2020-03-20 21:53 Matt Turner
2020-02-28  3:52 Joonas Niilola
2020-02-27 13:03 Craig Andrews
2020-02-27 13:03 Craig Andrews
2020-02-21  6:08 Joonas Niilola
2020-01-21 15:32 Michael Orlitzky
2019-09-17 17:55 Kent Fredric
2019-08-07 14:27 Michael Orlitzky
2019-02-24  1:41 Andreas K. Hüttel
2019-02-17 17:51 Sergei Trofimovich
2019-02-09 19:29 Sergei Trofimovich
2019-02-07 10:51 Mikle Kolyada
2019-02-03  9:12 Sergei Trofimovich
2019-01-05 16:13 Michael Orlitzky
2019-01-05 16:13 Michael Orlitzky
2018-11-26  0:24 Michael Orlitzky
2018-11-21  3:09 Craig Andrews
2018-11-18 23:56 Michael Orlitzky
2018-11-18 23:56 Michael Orlitzky
2018-06-19 19:13 Sergei Trofimovich
2017-09-24 16:34 Sergei Trofimovich
2017-09-24 16:34 Sergei Trofimovich
2017-08-22 21:31 Michał Górny
2017-02-04  8:53 Jeroen Roovers
2017-01-13 15:41 Agostino Sarubbo
2017-01-11 16:17 Agostino Sarubbo
2016-10-02  7:08 Jeroen Roovers
2016-10-01  8:57 Eray Aslan
2016-04-27 10:17 Eray Aslan
2016-03-09 20:48 Andreas Hüttel
2015-10-15 19:25 Marc Schiffbauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1582263720.a30c37ecf9d93913f9d79aacefe2ca8e0c655c99.juippis@gentoo \
    --to=juippis@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox