summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO35
-rw-r--r--PKGBUILD64
-rw-r--r--own_socketfile-bug-1856391.patch11
-rw-r--r--pyspf-milter.conf19
-rw-r--r--pyspf-milter.service12
-rw-r--r--pyspf-milter.sysusers2
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