svn commit: r305051 - head/dns/py-dnspython

Baptiste Daroussin bapt at FreeBSD.org
Wed Oct 3 22:04:39 UTC 2012


On Sat, Sep 29, 2012 at 08:19:52PM +0000, Ruslan Mahmatkhanov wrote:
> Author: rm
> Date: Sat Sep 29 20:19:52 2012
> New Revision: 305051
> URL: http://svn.freebsd.org/changeset/ports/305051
> 
> Log:
>   - update to 1.10.0
>   - convert to optionsng
>   
>   while here:
>   - limit python version to 2.x only
>   - remove deprecated attribution in pkg-descr
>   
>   PR:		171786
>   Submitted by:	William Grzybowski <william88 at gmail dot com>
>   Approved by:	Andy Greenwood <greenwood.andy at gmail dot com> (prev maintainer)
> 
> Modified:
>   head/dns/py-dnspython/Makefile
>   head/dns/py-dnspython/distinfo
>   head/dns/py-dnspython/pkg-descr
>   head/dns/py-dnspython/pkg-plist
> 
> Modified: head/dns/py-dnspython/Makefile
> ==============================================================================
> --- head/dns/py-dnspython/Makefile	Sat Sep 29 19:53:11 2012	(r305050)
> +++ head/dns/py-dnspython/Makefile	Sat Sep 29 20:19:52 2012	(r305051)
> @@ -2,7 +2,7 @@
>  # $FreeBSD$
>  
>  PORTNAME=	dnspython
> -PORTVERSION=	1.9.4
> +PORTVERSION=	1.10.0
>  CATEGORIES=	dns python
>  MASTER_SITES=	http://www.dnspython.org/kits/${PORTVERSION}/
>  PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
> @@ -10,35 +10,28 @@ PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
>  MAINTAINER=	rm at FreeBSD.org
>  COMMENT=	A DNS toolkit for Python
>  
> -USE_PYTHON=		yes
> -USE_PYDISTUTILS=	yes
> +USE_PYTHON=	-2.7
> +USE_PYDISTUTILS=yes
>  
> -OPTIONS=	PYCRYPTO "Enable pycrypto (part of dnssec needs it)" off
> +OPTIONS_DEFINE=	PYCRYPTO
> +PYCRYPTO_DESC=	Enable pycrypto (part of dnssec needs it)
>  
> -PORTDOCS=	\
> -		ChangeLog \
> -		README \
> -		TODO
> -EXAMPLE_FILES=	\
> -		ddns.py \
> -		e164.py \
> -		mx.py \
> -		name.py \
> -		reverse.py \
> -		reverse_name.py \
> -		xfr.py \
> +PORTDOCS=	ChangeLog README
> +EXAMPLE_FILES=	ddns.py e164.py mx.py name.py reverse.py reverse_name.py xfr.py \
>  		zonediff.py
>  
> +.include <bsd.port.options.mk>
> +
>  post-install:
>  # docs
> -.if !defined(NOPORTDOCS)
> +.if ${PORT_OPTIONS:MDOCS}
>  	@${MKDIR} ${DOCSDIR}
>  .for file in ${PORTDOCS}
>  	@${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
>  .endfor
>  .endif
>  # examples
> -.if !defined(NOPORTEXAMPLES)
> +.if ${PORT_OPTIONS:MEXAMPLES}
>  	@${MKDIR} ${EXAMPLESDIR}
>  .for file in ${EXAMPLE_FILES}
>  	@${INSTALL_DATA} ${WRKSRC}/examples/${file} ${EXAMPLESDIR}
> @@ -48,10 +41,8 @@ post-install:
>  	@${CHMOD} -R ${SHAREMODE} ${PYTHONPREFIX_SITELIBDIR}/dns/*
>  	@${CHMOD} -R a+X ${PYTHONPREFIX_SITELIBDIR}/dns/*
>  
> -.include <bsd.port.pre.mk>
> -
> -.if defined(WITH_PYCRYPTO)
> -RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/Crypto/__init__.py:${PORTSDIR}/security/py-pycrypto
> +.if ${PORT_OPTIONS:MPYCRYPTO}
> +RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}crypto>0:${PORTSDIR}/security/py-pycrypto
>  .endif
>  
> -.include <bsd.port.post.mk>
> +.include <bsd.port.mk>
> 
> Modified: head/dns/py-dnspython/distinfo
> ==============================================================================
> --- head/dns/py-dnspython/distinfo	Sat Sep 29 19:53:11 2012	(r305050)
> +++ head/dns/py-dnspython/distinfo	Sat Sep 29 20:19:52 2012	(r305051)
> @@ -1,2 +1,2 @@
> -SHA256 (dnspython-1.9.4.tar.gz) = ab23f93b8ea33c7b2780d6093344a13c95a371e1d2c22f74ba5d076cc15d1918
> -SIZE (dnspython-1.9.4.tar.gz) = 120126
> +SHA256 (dnspython-1.10.0.tar.gz) = 4dc21450ec6ac94dd105b4e5f39a75b404ad45a30869ff73acb6fd4d9974f857
> +SIZE (dnspython-1.10.0.tar.gz) = 124416
> 
> Modified: head/dns/py-dnspython/pkg-descr
> ==============================================================================
> --- head/dns/py-dnspython/pkg-descr	Sat Sep 29 19:53:11 2012	(r305050)
> +++ head/dns/py-dnspython/pkg-descr	Sat Sep 29 20:19:52 2012	(r305051)
> @@ -1,5 +1,3 @@
> -[ excerpt with modifications from developer's site ]
> -
>  dnspython is a DNS toolkit for Python. It supports almost all record
>  types. It can be used for queries, zone transfers, and dynamic
>  updates. It supports TSIG authenticated messages and EDNS0.
> @@ -9,5 +7,4 @@ level classes perform queries for data o
>  class, and return an answer set. The low level classes allow direct
>  manipulation of DNS zones, messages, names, and records.
>  
> -Author: Bob Halley <halley at dnspython.org>
>  WWW: http://www.dnspython.org/
> 
> Modified: head/dns/py-dnspython/pkg-plist
> ==============================================================================
> --- head/dns/py-dnspython/pkg-plist	Sat Sep 29 19:53:11 2012	(r305050)
> +++ head/dns/py-dnspython/pkg-plist	Sat Sep 29 20:19:52 2012	(r305051)
> @@ -97,9 +97,6 @@
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/ISDN.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/ISDN.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/ISDN.pyo
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/KEY.py
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/KEY.pyc
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/KEY.pyo
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/LOC.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/LOC.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/LOC.pyo
> @@ -118,9 +115,6 @@
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/NSEC3PARAM.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/NSEC3PARAM.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/NSEC3PARAM.pyo
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/NXT.py
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/NXT.pyc
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/NXT.pyo
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/PTR.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/PTR.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/PTR.pyo
> @@ -133,9 +127,6 @@
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/RT.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/RT.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/RT.pyo
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/SIG.py
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/SIG.pyc
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/SIG.pyo
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/SOA.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/SOA.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/ANY/SOA.pyo
> @@ -199,18 +190,12 @@
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/dsbase.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/dsbase.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/dsbase.pyo
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/keybase.py
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/keybase.pyc
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/keybase.pyo
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/mxbase.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/mxbase.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/mxbase.pyo
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/nsbase.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/nsbase.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/nsbase.pyo
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/sigbase.py
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/sigbase.pyc
> -%%PYTHON_SITELIBDIR%%/dns/rdtypes/sigbase.pyo
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/txtbase.py
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/txtbase.pyc
>  %%PYTHON_SITELIBDIR%%/dns/rdtypes/txtbase.pyo
> @@ -247,6 +232,9 @@
>  %%PYTHON_SITELIBDIR%%/dns/version.py
>  %%PYTHON_SITELIBDIR%%/dns/version.pyc
>  %%PYTHON_SITELIBDIR%%/dns/version.pyo
> +%%PYTHON_SITELIBDIR%%/dns/wiredata.py
> +%%PYTHON_SITELIBDIR%%/dns/wiredata.pyc
> +%%PYTHON_SITELIBDIR%%/dns/wiredata.pyo
>  %%PYTHON_SITELIBDIR%%/dns/zone.py
>  %%PYTHON_SITELIBDIR%%/dns/zone.pyc
>  %%PYTHON_SITELIBDIR%%/dns/zone.pyo

There is a problem here which will lead for users to endless see the dialog in
make config-conditional

The bug affects every single ports using framework modifier prefixes: python
rubygem, apache modules and many more for ages.

The bug is the optionsfile is base on UNIQUENAME which is not the same when make
first reads the the makefile and what it becomes after inclusion of
bsd.port.pre.mk or bsd.port.options.mk, which means the optionsfiles read
(config-conditional or more) and the one written is not the same!

the workaround for edges is to set OPTIONSFILE manually in the ports, lots of
python ports already do that.

This is a long standing bug, if someone has a smart idea on how to fix easily
please step up, currently the only solution being worked on is trying to enforce
UNIQUENAME to be really unique. But this has a huge impact :) any the subject of
the mail was just to say here the options won't work as expected for the users
and never have in the past (prior to optionsng conversion :))

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-ports-all/attachments/20121004/9a74dc8c/attachment.sig>


More information about the svn-ports-all mailing list