svn commit: r407273 - in head/mail/py-pyspf: . files
Kubilay Kocak
koobs at FreeBSD.org
Tue Jan 26 14:02:36 UTC 2016
On 27/01/2016 1:01 AM, Kubilay Kocak wrote:
> Author: koobs
> Date: Tue Jan 26 14:01:37 2016
> New Revision: 407273
> URL: https://svnweb.freebsd.org/changeset/ports/407273
>
> Log:
> mail/py-pyspf: Fix dependencies (missing & incorrect)
>
> Revision 404778 [1] modified py-pyspf to only use dns/py3dns instead
> of conditionally using dns/py-dns and py-py3dns depending on whether
> Python 2.x or 3.x was being used.
>
> dns/py-py3dns is a Python 3.x *only* package, but the port does not
> currently [2] limit itself to USES=python:3.0+.
>
> This results in errors for all dependent ports of py-pyspf when
> Python 2.x is used, which was reported for
> mail/postfix-policyd-spf-python. [3]
>
> pyspf's README notes the following requirements:
>
> This package requires PyDNS (or Py3DNS for running with Python 3) and
> either the ipaddr or python3.3 and later
>
> This package requires authres from either pypi or
> http://launchpad.net/authentication-results-python to process
> and generate RFC 5451 Authentication Results headers.
>
> The spf module in this version has been tested with python3.2 and does
> not require using 2to3.
>
> Accordingly, this change:
>
> - Reverts to conditional RUN_DEPENDS on dns/py-dns or py-py3dns
> depending on whether Python 2.x or Python 3.x is being used.
> - Adds authres to RUN_DEPENDS
> - Adds a conditional RUN_DEPENDS on devel/py-ipaddr, depending on
> Python version.
>
> While I'm here:
>
> - Sort and group USE{S} entries
> - Match COMMENT to setup.py:description
> - Add test and post-extract targets, TEST_DEPENDS, and patch files
> so that tests can be run properly
> - Pet several portlint warnings
>
> [1] https://svnweb.freebsd.org/changeset/ports/404778
> [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206645
> [3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206643
>
> QA:
>
> * portlint: OK (WARN: Makefile: [47]: possible use of "${CHMOD}")
> * porttest: OK (poudriere: 11amd64, python27, python34)
> * unittest: OK (Ran 425 tests in 0.155s)
>
> PR: 206643
> Reported by: danger
> Approved by: portmgr (blanket)
> MFH: 2016Q1
> Differential Revision: DXXXX
Uh ...
Differential Revision: D5082
> Added:
> head/mail/py-pyspf/files/
> head/mail/py-pyspf/files/patch-test_testspf.py (contents, props changed)
> Modified:
> head/mail/py-pyspf/Makefile
> head/mail/py-pyspf/pkg-descr
>
> Modified: head/mail/py-pyspf/Makefile
> ==============================================================================
> --- head/mail/py-pyspf/Makefile Tue Jan 26 12:13:46 2016 (r407272)
> +++ head/mail/py-pyspf/Makefile Tue Jan 26 14:01:37 2016 (r407273)
> @@ -4,29 +4,50 @@
> PORTNAME= pyspf
> PORTVERSION= 2.0.12
> DISTVERSIONSUFFIX= t
> -PORTREVISION= 3
> +PORTREVISION= 4
> CATEGORIES= mail python
> MASTER_SITES= CHEESESHOP
> PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
>
> MAINTAINER= sunpoet at FreeBSD.org
> -COMMENT= Python implementation of the RFC 4408 SPF protocol
> +COMMENT= SPF (Sender Policy Framework) implemented in Python
>
> LICENSE= PSFL
>
> -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}py3dns>=0:${PORTSDIR}/dns/py-py3dns
> +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}authres>=0:${PORTSDIR}/mail/py-authres
> +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}yaml>=0:${PORTSDIR}/devel/py-yaml
>
> -NO_ARCH= yes
> -USE_PYTHON= autoplist concurrent distutils
> USES= python shebangfix
> +USE_PYTHON= autoplist concurrent distutils
> +
> +NO_ARCH= yes
> +
> WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
>
> PLIST_FILES= bin/spf.py
> -
> SHEBANG_FILES= spf.py
>
> +.include <bsd.port.pre.mk>
> +
> +.if ${PYTHON_REL} <= 3300
> +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}ipaddr>=0:${PORTSDIR}/devel/py-ipaddr
> +.endif
> +
> +.if ${PYTHON_REL} >= 3000
> +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}py3dns>=0:${PORTSDIR}/dns/py-py3dns
> +.else
> +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dns>=0:${PORTSDIR}/dns/py-dns
> +.endif
> +
> +# Make the tests run as a module
> +post-extract:
> + @${TOUCH} ${WRKSRC}/test/__init__.py
> +
> post-install:
> ${CHMOD} ${BINMODE} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/spf.py
> ${LN} -s ${PYTHONPREFIX_SITELIBDIR}/spf.py ${STAGEDIR}${PREFIX}/bin/
>
> -.include <bsd.port.mk>
> +do-test:
> + @cd ${WRKSRC} && ${PYTHON_CMD} -m test.testspf
> +
> +.include <bsd.port.post.mk>
>
> Added: head/mail/py-pyspf/files/patch-test_testspf.py
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/mail/py-pyspf/files/patch-test_testspf.py Tue Jan 26 14:01:37 2016 (r407273)
> @@ -0,0 +1,37 @@
> +--- test/testspf.py.orig 2015-01-12 22:47:56 UTC
> ++++ test/testspf.py
> +@@ -221,9 +221,9 @@ def makeSuite(filename):
> +
> + def suite():
> + suite = unittest.makeSuite(SPFTestCases,'test')
> +- suite.addTest(makeSuite('test.yml'))
> +- suite.addTest(makeSuite('rfc7208-tests.yml'))
> +- suite.addTest(makeSuite('rfc4408-tests.yml'))
> ++ suite.addTest(makeSuite('test/test.yml'))
> ++ suite.addTest(makeSuite('test/rfc7208-tests.yml'))
> ++ suite.addTest(makeSuite('test/rfc4408-tests.yml'))
> + import doctest
> + suite.addTest(doctest.DocTestSuite(spf))
> + return suite
> +@@ -237,9 +237,9 @@ if __name__ == '__main__':
> + # a specific test selected by id from YAML files
> + if not tc:
> + tc = unittest.TestSuite()
> +- t0 = loadYAML('rfc7208-tests.yml')
> +- t1 = loadYAML('rfc4408-tests.yml')
> +- t2 = loadYAML('test.yml')
> ++ t0 = loadYAML('test/rfc7208-tests.yml')
> ++ t1 = loadYAML('test/rfc4408-tests.yml')
> ++ t2 = loadYAML('test/test.yml')
> + if i in t0:
> + tc.addTest(SPFTestCase(t0[i]))
> + if i in t1:
> +@@ -248,7 +248,7 @@ if __name__ == '__main__':
> + tc.addTest(SPFTestCase(t2[i]))
> + if not tc:
> + # load zonedata for doctests
> +- fp = open('doctest.yml','rb')
> ++ fp = open('test/doctest.yml','rb')
> + try:
> + zonedata = loadZone(next(yaml.safe_load_all(fp)))
> + finally: fp.close()
>
> Modified: head/mail/py-pyspf/pkg-descr
> ==============================================================================
> --- head/mail/py-pyspf/pkg-descr Tue Jan 26 12:13:46 2016 (r407272)
> +++ head/mail/py-pyspf/pkg-descr Tue Jan 26 14:01:37 2016 (r407273)
> @@ -3,6 +3,4 @@ was the first SPF implementation to full
> release has also added IPv6 support. pyspf is the library behind
> several of the open SPF project's SPF record testing tools.
>
> -Currently part of the pymilter project: http://pymilter.sourceforge.net
> -
> WWW: https://pypi.python.org/pypi/pyspf
>
More information about the svn-ports-head
mailing list