diff options
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | PKGBUILD | 64 | ||||
-rw-r--r-- | own_socketfile-bug-1856391.patch | 11 | ||||
-rw-r--r-- | pyspf-milter.conf | 19 | ||||
-rw-r--r-- | pyspf-milter.service | 12 | ||||
-rw-r--r-- | pyspf-milter.sysusers | 2 |
6 files changed, 143 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..9933d47eb574 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,35 @@ +pkgbase = python-spf-engine + pkgdesc = SPF (Sender Policy Framework) back-end for integration with Postfix and Sendmail + pkgver = 2.9.2 + pkgrel = 1 + url = https://launchpad.net/spf-engine + arch = any + license = Apache + license = GPL2 + depends = python-authres + depends = python-pymilter + depends = python-pyspf>=2.0.9 + depends = python-setuptools + optdepends = postfix: Postfix integration + optdepends = sendmail: Sendmail integration + conflicts = python2-postfix-policyd-spf + conflicts = python-postfix-policyd-spf + replaces = spf-engine + backup = etc/python-policyd-spf/policyd-spf.conf + backup = etc/pyspf-milter/pyspf-milter.conf + source = https://launchpad.net/spf-engine/2.9/2.9.2/+download/spf-engine-2.9.2.tar.gz + source = https://launchpad.net/spf-engine/2.9/2.9.2/+download/spf-engine-2.9.2.tar.gz.asc + source = pyspf-milter.sysusers + source = pyspf-milter.conf + source = pyspf-milter.service + source = own_socketfile-bug-1856391.patch + validpgpkeys = E7729BFFBE85400FEEEE23B178D7DEFB9AD59AF1 + sha256sums = 188a8bc78f1ddb40f1b87a0b6fe2fa78efa0b4cc5d984ff19a53724bb5c28131 + sha256sums = SKIP + sha256sums = 1a66a9d8315d95e910f3177123a81a4320ff0c216b286571dcc0a204e6eac0a4 + sha256sums = 00f29931c8d4e76d026982cba22a7c2d0823cb82052438ec1b71df373e95a485 + sha256sums = b9346555aa14e9beff00b522127b08b212bc4535d40591fb3d002a8c9a3f4f68 + sha256sums = 6108b155534b024b692387c73a17eae5ddf7d261cea126932049a969012f4aca + +pkgname = python-spf-engine + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..cd1933e86651 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Morgenstern <charles [at] charlesbwise [dot] com> + +pkgname=python-spf-engine +_pkgname=spf-engine +pkgver=2.9.2 +_pkgver=2.9 +pkgrel=1 +pkgdesc="SPF (Sender Policy Framework) back-end for integration with Postfix and Sendmail" +arch=('any') +url="https://launchpad.net/${_pkgname}" +license=('Apache' + 'GPL2') +depends=('python-authres' + 'python-pymilter' + 'python-pyspf>=2.0.9' + 'python-setuptools') +optdepends=('postfix: Postfix integration' + 'sendmail: Sendmail integration') +conflicts=('python2-postfix-policyd-spf' 'python-postfix-policyd-spf') +replaces=('spf-engine') +backup=(etc/python-policyd-spf/policyd-spf.conf + etc/pyspf-milter/pyspf-milter.conf) +source=(https://launchpad.net/$_pkgname/$_pkgver/$pkgver/+download/$_pkgname-$pkgver.tar.gz{,.asc} + pyspf-milter.sysusers + pyspf-milter.conf + pyspf-milter.service + own_socketfile-bug-1856391.patch) +sha256sums=('188a8bc78f1ddb40f1b87a0b6fe2fa78efa0b4cc5d984ff19a53724bb5c28131' + 'SKIP' + '1a66a9d8315d95e910f3177123a81a4320ff0c216b286571dcc0a204e6eac0a4' + '00f29931c8d4e76d026982cba22a7c2d0823cb82052438ec1b71df373e95a485' + 'b9346555aa14e9beff00b522127b08b212bc4535d40591fb3d002a8c9a3f4f68' + '6108b155534b024b692387c73a17eae5ddf7d261cea126932049a969012f4aca') +validpgpkeys=('E7729BFFBE85400FEEEE23B178D7DEFB9AD59AF1') # Donald Scott Kitterman <scott@kitterman.com> + +prepare() { + mv "${_pkgname}-${pkgver}" "${pkgname}-${pkgver}" + cd "${pkgname}-${pkgver}" + # Patch to fix Bug 1856391 - remove once fixed upstream + # https://bugs.launchpad.net/spf-engine/+bug/1856391 + patch --strip=1 --input="${srcdir}/own_socketfile-bug-1856391.patch" +} + +build() { + cd "${pkgname}-${pkgver}" + python setup.py build +} + +package() { + cd "${pkgname}-${pkgver}" + python setup.py install --root="${pkgdir}" --optimize=1 \ + --single-version-externally-managed --skip-build + + # Fix and remove incorrect files and directory structure + mv "${pkgdir}/usr/etc" "${pkgdir}/etc" + rm "${pkgdir}/etc/init.d/pyspf-milter" + rmdir "${pkgdir}/etc/init.d" + rm "${pkgdir}/usr/lib/systemd/system/pyspf-milter.service" + + install -Dm0644 "${srcdir}/pyspf-milter.sysusers" "${pkgdir}/usr/lib/sysusers.d/pyspf-milter.conf" + install -Dm0644 "${srcdir}/pyspf-milter.conf" "${pkgdir}/etc/pyspf-milter/pyspf-milter.conf" + install -m0644 "${srcdir}/pyspf-milter.service" "${pkgdir}/usr/lib/systemd/system" + install -m0644 policyd-spf.conf.commented "${pkgdir}/etc/python-policyd-spf" +} diff --git a/own_socketfile-bug-1856391.patch b/own_socketfile-bug-1856391.patch new file mode 100644 index 000000000000..f00008bf8764 --- /dev/null +++ b/own_socketfile-bug-1856391.patch @@ -0,0 +1,11 @@ +diff --unified --recursive --text spf-engine-2.9.2.orig/spf_engine/milter_spf.py spf-engine-2.9.2.new/spf_engine/milter_spf.py +--- spf-engine-2.9.2.orig/spf_engine/milter_spf.py 2019-10-27 14:15:59.000000000 +1300 ++++ spf-engine-2.9.2.new/spf_engine/milter_spf.py 2020-03-22 17:14:11.050296397 +1300 +@@ -37,7 +37,6 @@ + from spf_engine.util import drop_privileges + from spf_engine.policydspfsupp import _setExceptHook + from spf_engine.util import write_pid +-from spf_engine.util import own_socketfile + from spf_engine.util import fold + + __version__ = "2.9.2" diff --git a/pyspf-milter.conf b/pyspf-milter.conf new file mode 100644 index 000000000000..b94bc3d0d1e1 --- /dev/null +++ b/pyspf-milter.conf @@ -0,0 +1,19 @@ +# For a fully commented sample config file see policyd-spf.conf.commented + +debugLevel = 1 +TestOnly = 1 + +HELO_reject = Fail +Mail_From_reject = Fail + +PermError_reject = False +TempError_Defer = False + +skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104,::1 + +# Milter specific options +Socket = local:/run/pyspf-milter/pyspf-milter.sock +PidFile = /run/pyspf-milter/pyspf-milter.pid +UserID = pyspf-milter +InternalHosts = 127.0.0.1 +#MacroListVerify = diff --git a/pyspf-milter.service b/pyspf-milter.service new file mode 100644 index 000000000000..b8794c84b83d --- /dev/null +++ b/pyspf-milter.service @@ -0,0 +1,12 @@ +[Unit] +Description=pySPF Milter +Documentation=man:pyspf-milter(8) man:pyspf-milter.conf(5) +After=network.target + +[Service] +Type=simple +PIDFile=/run/pyspf-milter/pyspf-milter.pid +ExecStart=/usr/bin/pyspf-milter /etc/pyspf-milter/pyspf-milter.conf + +[Install] +WantedBy=multi-user.target diff --git a/pyspf-milter.sysusers b/pyspf-milter.sysusers new file mode 100644 index 000000000000..443bb314737d --- /dev/null +++ b/pyspf-milter.sysusers @@ -0,0 +1,2 @@ +u pyspf-milter - - /run/pyspf-milter +m pyspf-milter mail |