Date: Wed, 27 Jan 2016 01:02:27 +1100 From: Kubilay Kocak <koobs@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r407273 - in head/mail/py-pyspf: . files Message-ID: <56A77C73.2000900@FreeBSD.org> In-Reply-To: <201601261401.u0QE1bRf036462@repo.freebsd.org> References: <201601261401.u0QE1bRf036462@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56A77C73.2000900>