git: 6939cc63bea4 - main - mail/py-dkimpy-milter: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 05 Aug 2023 13:41:46 UTC
The branch main has been updated by matthew:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6939cc63bea44781023a7605083afd1278eeccb0
commit 6939cc63bea44781023a7605083afd1278eeccb0
Author: Matthew Seaman <matthew@FreeBSD.org>
AuthorDate: 2023-07-27 19:41:53 +0000
Commit: Matthew Seaman <matthew@FreeBSD.org>
CommitDate: 2023-08-05 13:41:37 +0000
mail/py-dkimpy-milter: New port
This is a DKIM signing and verification milter. It has been tested
with both Postfix and Sendmail.
Of note: this supports RFC8463 ED25519-SHA256 DKIM signatures
---
GIDs | 2 +-
UIDs | 2 +-
mail/Makefile | 1 +
mail/py-dkimpy-milter/Makefile | 43 +++++++++++++++++++++++++
mail/py-dkimpy-milter/distinfo | 3 ++
mail/py-dkimpy-milter/files/dkimpy-milter.in | 47 ++++++++++++++++++++++++++++
mail/py-dkimpy-milter/files/patch-setup.py | 15 +++++++++
mail/py-dkimpy-milter/pkg-descr | 2 ++
8 files changed, 113 insertions(+), 2 deletions(-)
diff --git a/GIDs b/GIDs
index 1bc518eb5105..26cfd95b88d7 100644
--- a/GIDs
+++ b/GIDs
@@ -264,7 +264,7 @@ teleirc:*:320:
caldera:*:321:
tlsc:*:322:
soju:*:323:
-# free: 324
+dkimpy-milter:*:324:
dkfilter:*:325:
smfs:*:326:
_reticulum:*:327:
diff --git a/UIDs b/UIDs
index 6a8d9f320972..61f105288259 100644
--- a/UIDs
+++ b/UIDs
@@ -269,7 +269,7 @@ teleirc:*:320:320::0:0:Telegram and IRC bridge:/nonexistent:/usr/sbin/nologin
caldera:*:321:321::0:0:Caldera Mitre user:/nonexistent:/usr/sbin/nologin
tlsc:*:322:322::0:0:TLS connect daemon:/nonexistent:/usr/sbin/nologin
soju:*:323:323::0:0:soju:/nonexistent:/usr/sbin/nologin
-# free: 324
+dkimpy-milter:*:324:324::0:0:Dkimpy Milter:/nonexistent:/usr/sbin/nologin
dkfilter:*:325:325::0:0:DK Filter Owner:/nonexistent:/usr/sbin/nologin
smfs:*:326:326::0:0:SMFSAV Owner:/nonexistent:/usr/sbin/nologin
_reticulum:*:327:327::0:0:Reticulum Daemon:/nonexistent:/usr/sbin/nologin
diff --git a/mail/Makefile b/mail/Makefile
index 65f3f4bef08b..5ff2034cd6d6 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -500,6 +500,7 @@
SUBDIR += py-django-mailbox
SUBDIR += py-django-mailman3
SUBDIR += py-dkimpy
+ SUBDIR += py-dkimpy-milter
SUBDIR += py-email-reply-parser
SUBDIR += py-email-validator
SUBDIR += py-flanker
diff --git a/mail/py-dkimpy-milter/Makefile b/mail/py-dkimpy-milter/Makefile
new file mode 100644
index 000000000000..52f232855743
--- /dev/null
+++ b/mail/py-dkimpy-milter/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= dkimpy-milter
+PORTVERSION= 1.2.3
+CATEGORIES= mail python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= matthew@FreeBSD.org
+COMMENT= DKIM signing and verification milter
+WWW= https://launchpad.net/dkimpy-milter
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS}
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dkimpy>=1.1.0:mail/py-dkimpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}milter>=1.0.5:mail/py-milter@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}authres>=1.1.0:mail/py-authres@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pynacl>=0:security/py-pynacl@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dnspython>=1.16.0:dns/py-dnspython@${PY_FLAVOR}
+
+USES= python:3.9+ # Some dependencies don't support 3.8
+USE_PYTHON= autoplist concurrent distutils
+USE_RC_SUBR= dkimpy-milter
+SUB_LIST+= PYTHON_CMD=${PYTHON_CMD}
+
+USERS= dkimpy-milter
+GROUPS= dkimpy-milter
+
+PYDISTUTILS_CONFIGUREARGS= expand --rundir=/var/run
+
+NO_ARCH= yes
+
+PLIST_FILES= '@dir(${USERS},${GROUPS},755) /var/run/dkimpy-milter' \
+ '@sample etc/dkimpy-milter/dkimpy-milter.conf.sample'
+
+post-install:
+ @${MKDIR} ${STAGEDIR}/var/run/dkimpy-milter \
+ ${STAGEDIR}${PREFIX}/etc/dkimpy-milter
+ ${INSTALL_DATA} ${WRKSRC}/etc/dkimpy-milter.conf \
+ ${STAGEDIR}${PREFIX}/etc/dkimpy-milter/dkimpy-milter.conf.sample
+
+.include <bsd.port.mk>
diff --git a/mail/py-dkimpy-milter/distinfo b/mail/py-dkimpy-milter/distinfo
new file mode 100644
index 000000000000..e2b7b7751f50
--- /dev/null
+++ b/mail/py-dkimpy-milter/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1690031008
+SHA256 (dkimpy-milter-1.2.3.tar.gz) = cea53d17a7e9e48940c2e8ae549ecfc270876538f1dc82b870dc420a6a0f66ec
+SIZE (dkimpy-milter-1.2.3.tar.gz) = 54972
diff --git a/mail/py-dkimpy-milter/files/dkimpy-milter.in b/mail/py-dkimpy-milter/files/dkimpy-milter.in
new file mode 100644
index 000000000000..e5965e314d85
--- /dev/null
+++ b/mail/py-dkimpy-milter/files/dkimpy-milter.in
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# PROVIDE: dkimpy_milter
+# REQUIRE: DAEMON
+# BEFORE: mail
+# KEYWORKD: shutdown
+
+# Define these dkimpy_milter_* variables in one of these files:
+# /etc/rc.conf
+# /etc/rc.conf.local
+# /etc/rc.conf.d/dkimpy_milter
+#
+# DO NOT CHANGE THESE DEFAULT VALUES HERE
+#
+
+. /etc/rc.subr
+
+name="dkimpy_milter"
+desc="DKIM Milter Daemon"
+rcvar="dkimpy_milter_enable"
+
+load_rc_config $name
+
+: ${dkimpy_milter_enable:="NO"}
+: ${dkimpy_milter_socket:="local:/var/run/dkimpy-milter/dkimpy-milter.sock"}
+: ${dkimpy_milter_pidfile:="/var/run/dkimpy-milter/dkimpy-milter.pid"}
+: ${dkimpy_milter_conffile:="%%PREFIX%%/etc/dkimpy-milter/dkimpy-milter.conf"}
+
+command=/usr/sbin/daemon
+command_interpreter=%%PYTHON_CMD%%
+procname=%%PREFIX%%/bin/dkimpy-milter
+command_args="-c -f ${procname} ${dkimpy_milter_conffile}"
+
+start_precmd=dkimpy_milter_precmd
+stop_postcmd=dkimpy_milter_postcmd
+
+dkimpy_milter_precmd()
+{
+ /bin/rm -f "${dkimpy_milter_pidfile}"
+}
+
+dkimpy_milter_postcmd()
+{
+ /bin/rm -f "${dkimpy_milter_pidfile}"
+}
+
+run_rc_command "$1"
diff --git a/mail/py-dkimpy-milter/files/patch-setup.py b/mail/py-dkimpy-milter/files/patch-setup.py
new file mode 100644
index 000000000000..66ce531e87d5
--- /dev/null
+++ b/mail/py-dkimpy-milter/files/patch-setup.py
@@ -0,0 +1,15 @@
+--- setup.py.orig 2023-02-27 01:07:17 UTC
++++ setup.py
+@@ -118,11 +118,7 @@ setup(
+ include_package_data=True,
+ data_files=[(os.path.join('share', 'man', 'man5'),
+ ['man/dkimpy-milter.conf.5']), (os.path.join('share', 'man', 'man8'),
+- ['man/dkimpy-milter.8']), (os.path.join('etc', 'dkimpy-milter'),
+- ['etc/dkimpy-milter.conf']), (os.path.join('lib', 'systemd', 'system'),
+- ['system/dkimpy-milter.service']),(os.path.join('etc', 'init.d'),
+- ['system/dkimpy-milter']), (os.path.join('etc', 'init.d'),
+- ['system/dkimpy-milter.openrc'])],
++ ['man/dkimpy-milter.8'])],
+ zip_safe = False,
+ cmdclass={
+ 'expand': FileMacroExpand,
diff --git a/mail/py-dkimpy-milter/pkg-descr b/mail/py-dkimpy-milter/pkg-descr
new file mode 100644
index 000000000000..71748589609d
--- /dev/null
+++ b/mail/py-dkimpy-milter/pkg-descr
@@ -0,0 +1,2 @@
+This is a DKIM signing and verification milter. It has been tested
+with both Postfix and Sendmail.