Skip to content

Commit

Permalink
mail-filter/spf-engine: new version 2.9.2.
Browse files Browse the repository at this point in the history
The first new version after the rename, with an ebuild that will make
sense to future readers. Thanks to Alex Efros for pointing out that
this package was renamed and for supplying an updated ebuild.

Reported-by: Alex Efros <[email protected]>
Closes: https://bugs.gentoo.org/724526
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Michael Orlitzky <[email protected]>
  • Loading branch information
orlitzky committed May 26, 2020
1 parent 630c791 commit 328a9a6
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 0 deletions.
1 change: 1 addition & 0 deletions mail-filter/spf-engine/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST pypolicyd-spf-2.0.2.tar.gz 38546 BLAKE2B 691cd5db37592be0ef0cda41223280e764e83802e37563f4e6c08505731118199c03d27b0bf51cec0556aa946fc6c7465fe09d3c9100c8e2582a4d85ad828495 SHA512 adcc7b30c6922894f9407edd0637b02a138623f4480ec37635475396826b457c835b3ffb599d1985e306770fe5f72404552ed705bd957e63b5c54ca3d8991673
DIST spf-engine-2.9.2.tar.gz 52737 BLAKE2B 39d6c9831ef3ea489f2910fcbcaec9b2bed627f02459e20826166f04a2fe895aecf83768a3446a037e4231cc317ee277f6ff8e9030c72d8819739f6af889d632 SHA512 fe1fe82411ed4d6fcfadccd6ccc9fbd36372b4676051aafa5984740cba862336b00567576b3e32451cd24b0cfcd992d7dfdee33f0cf65a35f4009837e99b8f98
79 changes: 79 additions & 0 deletions mail-filter/spf-engine/spf-engine-2.9.2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_6 python3_7 python3_8 )

# The built-in ipaddress module handles the parsing of IP addresses. If
# python is built without ipv6 support, then ipaddress can't parse ipv6
# addresses, and the daemon will crash if it sees an ipv6 SPF record. In
# other words, it's completely broken.
PYTHON_REQ_USE="ipv6"

# setup.py defines entry_points
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1

DESCRIPTION="Policy daemon and milter for Postfix SPF verification"
HOMEPAGE="https://launchpad.net/spf-engine"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="dev-python/pyspf[${PYTHON_USEDEP}]"

RDEPEND="${DEPEND}
dev-python/authres[${PYTHON_USEDEP}]"

DOCS=( CHANGES policyd-spf.conf.commented README README.per_user_whitelisting )

python_prepare_all() {
# The "real" config file mentions the commented one, so we point
# users in the right direction.
local oldconf="policyd-spf.conf.commented"
local newconf="/usr/share/doc/${PF}/${oldconf}"

sed -e "1 s~ ${oldconf}~,\n# ${newconf}~" -i policyd-spf.conf \
|| die 'failed to update commented config file path'

distutils-r1_python_prepare_all
}

src_install() {
distutils-r1_src_install

# Remove the milter files that are installed by default. The milter
# isn't quite ready:
#
# * The README says it's experimental not well-tested.
# * There's no documentation for its configuration parameters
# (expecially the UserID).
# * The configuration file is hard-coded to /usr/local.
# * The paths in the systemd service file are hard-coded to /usr/local.
# * We need to write an OpenRC service script for it.
#
# These are all eventually doable, but I'm not willing to commit to
# making the milter work before upstream is.
#
rm "${ED}/usr/bin/pyspf-milter" \
|| die "failed to remove ${ED}/usr/bin/pyspf-milter"
rm -r "${ED}/usr/lib/systemd" \
|| die "failed to remove ${ED}/usr/lib/systemd"
rm -r "${ED}/usr/etc/init.d" \
|| die "failed to remove ${ED}/usr/etc/init.d"
einfo "The milter component of spf-engine is still deemed experimental"
einfo "and not well-tested by upstream. It's missing configuration"
einfo "files, service scripts, and documentation. In other words, it"
einfo "doesn't work yet."

# The setuptools installation routing always works relative to
# python's prefix, so that when installing locally you wind up
# with paths like /usr/local/etc. However for system installs
# that does the wrong thing and puts the sysconfdir at /usr/etc.
# Here we move it to the right place.
mv -v "${ED}/usr/etc" "${ED}/" || die 'failed to relocate sysconfdir'
}

0 comments on commit 328a9a6

Please sign in to comment.