svn commit: r537162 - in head: . mail mail/postfix-policyd-spf-python mail/py-spf-engine mail/py-spf-engine/files
Danilo G. Baio
dbaio at FreeBSD.org
Sun May 31 13:49:31 UTC 2020
Author: dbaio
Date: Sun May 31 13:49:28 2020
New Revision: 537162
URL: https://svnweb.freebsd.org/changeset/ports/537162
Log:
Add mail/py-spf-engine, Deprecate mail/postfix-policyd-spf-python
Give time to users to change their env
The new port is the successor, it supports milter feature and its
config file is in another path.
PR: 244424
Submitted by: Yasuhiro KIMURA <yasu at utahime.org> (maintainer)
Added:
head/mail/py-spf-engine/
- copied from r537161, head/mail/postfix-policyd-spf-python/
head/mail/py-spf-engine/files/patch-spf__engine_milter__spf.py (contents, props changed)
head/mail/py-spf-engine/files/pyspf-milter.in (contents, props changed)
Modified:
head/GIDs
head/UIDs
head/UPDATING
head/mail/Makefile
head/mail/postfix-policyd-spf-python/Makefile
head/mail/py-spf-engine/Makefile
head/mail/py-spf-engine/distinfo
head/mail/py-spf-engine/files/patch-setup.py
head/mail/py-spf-engine/files/pkg-message.in
head/mail/py-spf-engine/pkg-descr
Modified: head/GIDs
==============================================================================
--- head/GIDs Sun May 31 13:11:51 2020 (r537161)
+++ head/GIDs Sun May 31 13:49:28 2020 (r537162)
@@ -820,7 +820,7 @@ bitmark-recorder:*:873:
# free: 877
# free: 878
# free: 879
-# free: 880
+pyspf-milter:*:880:
ultimaker:*:881:
midpoint:*:882:
ipfs-go:*:883:
Modified: head/UIDs
==============================================================================
--- head/UIDs Sun May 31 13:11:51 2020 (r537161)
+++ head/UIDs Sun May 31 13:49:28 2020 (r537162)
@@ -825,7 +825,7 @@ bitmark-recorder:*:873:873::0:0:Bitmark Property Recor
# free: 877
# free: 878
# free: 879
-# free: 880
+pyspf-milter:*:880:880::0:0:pyspf-milter:/nonexistent:/usr/sbin/nologin
ultimaker:*:881:881::0:0:Ultimaker user:/nonexistent:/usr/sbin/nologin
midpoint:*:882:882::0:0:midPoint user:/var/db/midpoint:/usr/sbin/nologin
ipfs-go:*:883:883::0:0:ipfs-go user:/var/db/ipfs-go:/bin/sh
Modified: head/UPDATING
==============================================================================
--- head/UPDATING Sun May 31 13:11:51 2020 (r537161)
+++ head/UPDATING Sun May 31 13:49:28 2020 (r537162)
@@ -5,6 +5,17 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20200531:
+ AFFECTS: users of mail/postfix-policyd-spf-python
+ AUTHOR: yasu at utahime.org
+
+ This port is now deprecated because upstream project is superseded by its
+ successor. So uninstall this port and install mail/py-spf-engine instead.
+ Keep in mind that the path of configuration file is changed from
+ ${PREFIX}/etc/postfix-policyd-spf-python/policyd-spf.conf to
+ ${PREFIX}/etc/python-policyd-spf/policyd-spf.conf. So you need to move
+ it to new location unless you use the default one without changing.
+
20200526:
AFFECTS: users of databases/mariadb104-client, databases/mariadb104-server
AUTHOR: brnrd at FreeBSD.org
Modified: head/mail/Makefile
==============================================================================
--- head/mail/Makefile Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/Makefile Sun May 31 13:49:28 2020 (r537162)
@@ -510,6 +510,7 @@
SUBDIR += py-pyspf
SUBDIR += py-pyzmail
SUBDIR += py-spambayes
+ SUBDIR += py-spf-engine
SUBDIR += py-validate_email
SUBDIR += pymsgauth
SUBDIR += pyzor
Modified: head/mail/postfix-policyd-spf-python/Makefile
==============================================================================
--- head/mail/postfix-policyd-spf-python/Makefile Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/postfix-policyd-spf-python/Makefile Sun May 31 13:49:28 2020 (r537162)
@@ -3,6 +3,7 @@
PORTNAME= postfix-policyd-spf-python
PORTVERSION= 2.0.2
+PORTREVISION= 1
CATEGORIES= mail python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -14,12 +15,17 @@ COMMENT= Pure Python Postfix policy daemon for SPF che
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= Use mail/py-spf-engine instead (Project is superseded by successor)
+EXPIRATION_DATE= 2020-08-31
+
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyspf>0:mail/py-pyspf@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}authres>0:mail/py-authres@${PY_FLAVOR}
USES= python:3.3+
USE_PYTHON= autoplist distutils
NO_ARCH= yes
+
+CONFLICTS= py*-spf-engine
PORTDOCS= CHANGES \
README \
Modified: head/mail/py-spf-engine/Makefile
==============================================================================
--- head/mail/postfix-policyd-spf-python/Makefile Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/py-spf-engine/Makefile Sun May 31 13:49:28 2020 (r537162)
@@ -1,49 +1,68 @@
# Created by: Giel van Schijndel <me at mortis.eu>
# $FreeBSD$
-PORTNAME= postfix-policyd-spf-python
-PORTVERSION= 2.0.2
+PORTNAME= spf-engine
+PORTVERSION= 2.9.2
CATEGORIES= mail python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= pypolicyd-spf-${PORTVERSION}
MAINTAINER= yasu at utahime.org
-COMMENT= Pure Python Postfix policy daemon for SPF checking
+COMMENT= SPF engine for Postfix policy server and milter implemented in Python
-LICENSE= APACHE20
-LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE= APACHE20 GPLv2+
+LICENSE_COMB= multi
+LICENSE_FILE_APACHE20= ${WRKSRC}/COPYING
+LICENSE_FILE_GPLv2+ = ${WRKSRC}/GPL-2
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyspf>0:mail/py-pyspf@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}authres>0:mail/py-authres@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}authres>0:mail/py-authres@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}milter>0:mail/py-milter@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyspf>0:mail/py-pyspf@${PY_FLAVOR}
-USES= python:3.3+
+USES= python:3.3+ shebangfix
USE_PYTHON= autoplist distutils
+USE_RC_SUBR= pyspf-milter
NO_ARCH= yes
+CONFLICTS= py*-postfix-policyd-spf-python
+
+USERS= pyspf-milter
+GROUPS= pyspf-milter
+
+PYSPF_MILTER_RUNDIR= /var/run/pyspf-milter
+
+PLIST_FILES= '@sample etc/python-policyd-spf/policyd-spf.conf.sample' \
+ '@dir(${USERS},${GROUPS},755) ${PYSPF_MILTER_RUNDIR}'
+
+SHEBANG_FILES= spf_engine/milter_spf.py \
+ spf_engine/policyd_spf.py
+
PORTDOCS= CHANGES \
README \
README.per_user_whitelisting \
policyd-spf.conf.commented
-PKGMESSAGE= ${WRKSRC}/pkg-message
-
SUB_FILES= pkg-message
+SUB_LIST= PYTHON_CMD=${PYTHON_CMD} \
+ PYSPF_MILTER_RUNDIR=${PYSPF_MILTER_RUNDIR}
OPTIONS_DEFINE= DOCS
post-patch:
- @${MV} ${WRKSRC}/policyd-spf.conf ${WRKSRC}/policyd-spf.conf.sample
- @${REINPLACE_CMD} -e "s|/etc/python-policyd-spf/|${PREFIX}/etc/postfix-policyd-spf-python/|" \
- ${WRKSRC}/policyd-spf
- @${REINPLACE_CMD} -e "s|/etc/policyd-spf/|${PREFIX}/etc/postfix-policyd-spf-python/|" \
- -e "s|/usr/bin/policyd-spf|${PREFIX}/bin/policyd-spf|" \
- -e "s|/etc/postfix/|${LOCALBASE}/etc/postfix/|" ${WRKSRC}/policyd-spf.1
- @${REINPLACE_CMD} -e "s|/etc/policyd-spf/|${PREFIX}/etc/postfix-policyd-spf-python/|" \
- ${WRKSRC}/policyd-spf.conf.5
- @${REINPLACE_CMD} -e "s|/etc/policyd-spf/|${PREFIX}/etc/postfix-policyd-spf-python/|" \
- -e "s|/etc/pypolicyd-spf/|${PREFIX}/etc/postfix-policyd-spf-python/|" \
+ @${REINPLACE_CMD} -e "s|/usr/local/etc/|${PREFIX}/etc/|" \
+ ${WRKSRC}/spf_engine/milter_spf.py
+ @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|" \
+ ${WRKSRC}/spf_engine/policyd_spf.py
+ @${REINPLACE_CMD} -e "s|/run|/var/run|" ${WRKSRC}/spf_engine/policydspfsupp.py
+ @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|" -e "s|/usr/bin/|${PREFIX}/bin/|" \
+ ${WRKSRC}/policyd-spf.1 ${WRKSRC}/policyd-spf.conf.5 \
${WRKSRC}/policyd-spf.peruser.5
+
+post-install:
+ @${MKDIR} ${STAGEDIR}/var/run/pyspf-milter \
+ ${STAGEDIR}${PREFIX}/etc/python-policyd-spf
+ ${INSTALL_DATA} ${WRKSRC}/policyd-spf.conf \
+ ${STAGEDIR}${PREFIX}/etc/python-policyd-spf/policyd-spf.conf.sample
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}/${DOCSDIR}
Modified: head/mail/py-spf-engine/distinfo
==============================================================================
--- head/mail/postfix-policyd-spf-python/distinfo Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/py-spf-engine/distinfo Sun May 31 13:49:28 2020 (r537162)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1513282791
-SHA256 (pypolicyd-spf-2.0.2.tar.gz) = df9cf888583c1003ff8dd2f0c8c1e5f46de466b56de5ce56eed5f42765f0a8da
-SIZE (pypolicyd-spf-2.0.2.tar.gz) = 38546
+TIMESTAMP = 1582568246
+SHA256 (spf-engine-2.9.2.tar.gz) = 188a8bc78f1ddb40f1b87a0b6fe2fa78efa0b4cc5d984ff19a53724bb5c28131
+SIZE (spf-engine-2.9.2.tar.gz) = 52737
Modified: head/mail/py-spf-engine/files/patch-setup.py
==============================================================================
--- head/mail/postfix-policyd-spf-python/files/patch-setup.py Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/py-spf-engine/files/patch-setup.py Sun May 31 13:49:28 2020 (r537162)
@@ -1,17 +1,16 @@
---- setup.py.orig 2014-06-04 05:08:20 UTC
+--- setup.py.orig 2019-10-27 01:15:11 UTC
+++ setup.py
-@@ -13,10 +13,10 @@ setup(name='pypolicyd-spf',
- py_modules=['policydspfsupp', 'policydspfuser'],
- keywords = ['Postfix','spf','email'],
- scripts = ['policyd-spf'],
-- data_files=[(os.path.join('share', 'man', 'man1'),
-- ['policyd-spf.1']), (os.path.join('share', 'man', 'man5'),
-- ['policyd-spf.conf.5']), (os.path.join('/etc', 'python-policyd-spf'),
-- ['policyd-spf.conf']), (os.path.join('share', 'man', 'man5'),
-+ data_files=[(os.path.join('man', 'man1'),
-+ ['policyd-spf.1']), (os.path.join('man', 'man5'),
-+ ['policyd-spf.conf.5']), (os.path.join('etc', 'postfix-policyd-spf-python'),
-+ ['policyd-spf.conf.sample']), (os.path.join('man', 'man5'),
- ['policyd-spf.peruser.5'])],
- classifiers = [
+@@ -25,11 +25,8 @@ setup(name='spf-engine',
+ include_package_data=True,
+ data_files=[(os.path.join('share', 'man', 'man1'),
+ ['policyd-spf.1']), (os.path.join('share', 'man', 'man5'),
+- ['policyd-spf.conf.5']), (os.path.join('etc', 'python-policyd-spf'),
+- ['policyd-spf.conf']), (os.path.join('share', 'man', 'man5'),
+- ['policyd-spf.peruser.5']), (os.path.join('lib', 'systemd', 'system'),
+- ['system/pyspf-milter.service']),(os.path.join('etc', 'init.d'),
+- ['system/pyspf-milter']) ],
++ ['policyd-spf.conf.5']), (os.path.join('share', 'man', 'man5'),
++ ['policyd-spf.peruser.5'])],
+ classifiers = [
'Development Status :: 5 - Production/Stable',
+ 'Environment :: No Input/Output (Daemon)',
Added: head/mail/py-spf-engine/files/patch-spf__engine_milter__spf.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/py-spf-engine/files/patch-spf__engine_milter__spf.py Sun May 31 13:49:28 2020 (r537162)
@@ -0,0 +1,10 @@
+--- spf_engine/milter_spf.py.orig 2020-02-26 02:21:41 UTC
++++ spf_engine/milter_spf.py
+@@ -37,7 +37,6 @@ import spf_engine.policydspfsupp as config
+ 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"
Modified: head/mail/py-spf-engine/files/pkg-message.in
==============================================================================
--- head/mail/postfix-policyd-spf-python/files/pkg-message.in Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/py-spf-engine/files/pkg-message.in Sun May 31 13:49:28 2020 (r537162)
@@ -2,10 +2,10 @@
{ type: install
message: <<EOM
#
-# To configure Postfix
+# Using policyd-spf with Postfix
#
-This package must be integrated with Postfix to be effective:
+Policyd-spf must be integrated with Postfix to be effective:
1. Add to your postfix master.cf:
@@ -32,6 +32,45 @@ This package must be integrated with Postfix to be eff
configuration.
4. Reload postfix.
+
+#
+# Automatically starting pyspf-milter at boot time.
+#
+
+Add 'pyspf_milter_enable="YES"' to /etc/rc.conf.
+
+#
+# Using pyspf-milter with Sendmail
+#
+
+Following is an example configuration line to include in your sendmail.mc.
+
+INPUT_MAIL_FILTER(`pyspf-milter', `S=local:/var/run/pyspf-milter/pyspf-milter.sock')dnl
+
+#
+# Using pyspf-milter with Postfix
+#
+
+Integration of pyspf-milter into Postfix is like any milter (See Postfix's
+README_FILES/MILTER_README). But care is required to segregate outbound mail
+from inbound mail to be checked. Here is example using milter macros to keep
+the mail streams segregated.
+
+%%PREFIX%%/etc/postfix/main.cf:
+
+smtpd_milters = unix:/var/run/pyspf-milter/pyspf-milter.sock
+
+%%PREFIX%%/etc/postfix/master.cf:
+
+smtp inet n - - - - smtpd
+ ...
+ -o milter_macro_daemon_name=VERIFYING
+ ...
+
+%%PREFIX%%/etc/python-policyd-spf/policyd-spf.conf:
+
+MacroList daemon_name|VERIFYING
+
EOM
}
]
Added: head/mail/py-spf-engine/files/pyspf-milter.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/py-spf-engine/files/pyspf-milter.in Sun May 31 13:49:28 2020 (r537162)
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: pyspf_milter
+# REQUIRE: LOGIN
+# BEFORE: mail
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable pyspf_milter:
+#
+# pyspf_milter_enable (bool) Set to 'YES' to enable.
+# Default: NO
+# pyspf_milter_conffile (path) Location of configuration file.
+# Default: %%PREFIX%%/etc/python-policyd-spf/policyd-spf.conf
+
+. /etc/rc.subr
+
+name=pyspf_milter
+rcvar=pyspf_milter_enable
+
+load_rc_config $name
+
+: ${pyspf_milter_enable:=NO}
+: ${pyspf_milter_conffile:=%%PREFIX%%/etc/python-policyd-spf/policyd-spf.conf}
+
+command=/usr/sbin/daemon
+command_interpreter=%%PYTHON_CMD%%
+procname=%%PREFIX%%/bin/pyspf-milter
+command_args="-c -f ${procname} ${pyspf_milter_conffile}"
+pidfile=%%PYSPF_MILTER_RUNDIR%%/pyspf-milter.pid
+required_dirs=%%PYSPF_MILTER_RUNDIR%%
+required_files=${pyspf_milter_conffile}
+start_precmd=pyspf_milter_cleanup
+stop_postcmd=pyspf_milter_cleanup
+
+pyspf_milter_cleanup ()
+{
+ rm -f ${pidfile}
+}
+
+run_rc_command "$1"
Modified: head/mail/py-spf-engine/pkg-descr
==============================================================================
--- head/mail/postfix-policyd-spf-python/pkg-descr Sun May 31 13:11:51 2020 (r537161)
+++ head/mail/py-spf-engine/pkg-descr Sun May 31 13:49:28 2020 (r537162)
@@ -1,4 +1,8 @@
-python-policyd-spf is a Postfix SMTPd policy engine for SPF checking. It is
-implemented in pure Python and uses the python-spf module.
+This project provides the SPF (Sender Policy Framework) back-end for both
+pypolicyd-spf (for which it was originally developed) and an future SPF
+milter using pymilter. The goal is to provide a common back-end for common
+features for support SPF integration with Postfix and Sendmail using both
+the Postfix policy service and the Sendmail milter protocol (also available
+with Postfix).
-WWW: https://launchpad.net/pypolicyd-spf/
+WWW: https://launchpad.net/spf-engine
More information about the svn-ports-head
mailing list