Right now, when dns/ldns is compiled with python support, it changes name and becomes dns/py-ldns. Some ports depends on the former, some depend on the later, and it's a bit of a mess. Fix: This part makes dns/py-ldns install only the python bits, and removes those bits from dns/ldns.
Responsible Changed From-To: freebsd-ports-bugs->freebsd-python freebsd-python@ wants this port PRs (via the GNATS Auto Assign Tool)
State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Maintainer of dns/ldns, Please note that PR ports/179812 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/179812 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org
> Maintainer of dns/ldns, > > Please note that PR ports/179812 has just been submitted. > > If it contains a patch for an upgrade, an enhancement or a bug fix > you agree on, reply to this email stating that you approve the patch > and a committer will take care of it. > > The full text of the PR can be found at: > http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/179812 This seems to be a fine approach to the problem. However I had to make a small adjustment to make it work (See the snipped of the Makefile below). With this change, I'll approve. jaap ------ post-build: .if ${PORT_OPTIONS:MEXAMPLES} && !defined(BUILD_PYLDNS) @(cd ${WRKSRC}/examples; ${GMAKE}) .endif .if ${PORT_OPTIONS:MDRILL} @(cd ${WRKSRC}/drill; ${GMAKE}) .endif post-install: .if ${PORT_OPTIONS:MEXAMPLES} && !defined(BUILD_PYLDNS) @(cd ${WRKSRC}/examples; ${GMAKE} install) .endif .if ${PORT_OPTIONS:MDRILL} @(cd ${WRKSRC}/drill; ${GMAKE} install) .endif
State Changed From-To: feedback->open maintainer has replied with updated patch.
Hi, Ah, yes, I missed that part. What about enclosing the post-configure, post-build and post-install inside a .if !defined(BUILD_PYLDNS) ? There's no point of adding them if they're empty anyway. -- Mathieu Arnold
Hi, >What about enclosing the post-configure, post-build and post-install inside >a .if !defined(BUILD_PYLDNS) ? >There's no point of adding them if they're empty anyway. I personally dislike nested .if statements and try to avoid them but yes, it likely works just as well. jaap
+--On 2 juillet 2013 14:12:49 +0200 Jaap Akkerhuis <jaap@NLnetLabs.nl> wrote: | Hi, | | >What about enclosing the post-configure, post-build and post-install | inside >a .if !defined(BUILD_PYLDNS) ? | >There's no point of adding them if they're empty anyway. | | I personally dislike nested .if statements and try to avoid them | but yes, it likely works just as well. Well, I've thought about it for a while when I was cooking the patch, it's either : - what I did with nested .if's - extract what's not needed by the python part in another file and include it (ugly) - copying stuffs to dns/py-ldns so that they're no longer master/slave but it'd be twice the load for each upgrade. -- Mathieu Arnold
> +--On 2 juillet 2013 14:12:49 +0200 Jaap Akkerhuis <jaap@NLnetLabs.nl> > wrote: > | Hi, > | > | >What about enclosing the post-configure, post-build and post-install > | inside >a .if !defined(BUILD_PYLDNS) ? > | >There's no point of adding them if they're empty anyway. > | > | I personally dislike nested .if statements and try to avoid them > | but yes, it likely works just as well. > > Well, I've thought about it for a while when I was cooking the patch, it's > either : > - what I did with nested .if's > - extract what's not needed by the python part in another file and include > it (ugly) > - copying stuffs to dns/py-ldns so that they're no longer master/slave but > it'd be twice the load for each upgrade. Yes, it is a devilish dilemma. When I said "dislike" it doesn't mean I'm dead against it. I can go either way, either the big .if or the repeated !defined(BUILD_PYLDNS). You pick. jaap
Responsible Changed From-To: freebsd-python->mat Take that back.
Author: mat Date: Thu Jul 11 12:40:54 2013 New Revision: 322766 URL: http://svnweb.freebsd.org/changeset/ports/322766 Log: Have dns/py-ldns only install the Python bits. PR: ports/179812 Submitted by: mat Approved by: maintainer Added: head/dns/py-ldns/pkg-plist (contents, props changed) Modified: head/UPDATING head/dns/ldns/Makefile head/dns/ldns/pkg-plist head/dns/py-ldns/Makefile Modified: head/UPDATING ============================================================================== --- head/UPDATING Thu Jul 11 12:14:56 2013 (r322765) +++ head/UPDATING Thu Jul 11 12:40:54 2013 (r322766) @@ -5,6 +5,21 @@ 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. +20130711: + AFFECTS: users of dns/py-ldns + AUTHOR: mat@FreeBSD.org + + The dns/py-ldns port now only installs the Python bits, and depends on + dns/ldns. Because of that, you can't just do a regular upgrade, it'd install + dns/ldns overwritting existing files and removing them when removing the old + version of dns/py-ldns. + + # pkg_delete -f py-ldns-\* + # cd /usr/ports/dns/py-ldns && make clean && make install clean + or + # pkg delete -fg py-ldns-\* + # pkg install -f dns/py-ldns + 20130707: AFFECTS: users of www/ajaxplorer AUTHOR: madpilot@FreeBSD.org Modified: head/dns/ldns/Makefile ============================================================================== --- head/dns/ldns/Makefile Thu Jul 11 12:14:56 2013 (r322765) +++ head/dns/ldns/Makefile Thu Jul 11 12:40:54 2013 (r322766) @@ -3,6 +3,7 @@ PORTNAME= ldns PORTVERSION= 1.6.16 +PORTREVISION= 1 CATEGORIES= dns MASTER_SITES= http://www.nlnetlabs.nl/downloads/ldns/ \ CRITICAL @@ -17,23 +18,32 @@ USE_GMAKE= yes USE_OPENSSL= yes USE_LDCONFIG= yes -OPTIONS_DEFINE= DOXYGEN EXAMPLES DRILL GOST PYLDNS +.if !defined(BUILD_PYLDNS) +OPTIONS_DEFINE= DOXYGEN EXAMPLES DRILL OPTIONS_DEFAULT= EXAMPLES DRILL DRILL_DESC= With drill program +.endif + +OPTIONS_DEFINE+= GOST + GOST_DESC= GOST signatures enabled, requires openssl >= 1.0.0 -PYLDNS_DESC= ${PYTHON_DESC} .include <bsd.port.options.mk> -.if ${PORT_OPTIONS:MPYLDNS} +.if defined(BUILD_PYLDNS) USE_PYTHON= yes PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -CONFLICTS= ldns-[0-9]* -.else -CONFLICTS= py*-ldns-[0-9]* -.endif +ALL_TARGET= pyldns +INSTALL_TARGET= install-pyldns +CONFIGURE_ARGS+=--with-pyldns +LIB_DEPENDS+= ldns:${PORTSDIR}/dns/ldns +BUILD_DEPENDS+= ${LOCALBASE}/bin/swig:${PORTSDIR}/devel/swig13 + +post-patch: + @${SED} -i '' -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' ${WRKSRC}/Makefile.in +.else ALL_TARGET= all INSTALL_TARGET= install-lib install-h install-config @@ -233,13 +243,6 @@ MAN3= ldns_bget_token.3 ldns_bgetc.3 ldn MAN1+= ldns-config.1 .endif -.if ${PORT_OPTIONS:MGOST} -BUILD_DEPENDS+= openssl>=1.0:${PORTSDIR}/security/openssl -.else -NO_GOST= --disable-gost -CONFIGURE_ARGS+=${NO_GOST} -.endif - .if ${PORT_OPTIONS:MDRILL} PLIST_SUB+= DRILLPROG="" MAN1+= drill.1 @@ -262,15 +265,17 @@ MAN1+= ldns-chaos.1 ldns-compare-zones.1 PLIST_SUB+= EXAMPLES="@comment " .endif -.if ${PORT_OPTIONS:MPYLDNS} -CONFIGURE_ARGS+=--with-pyldns -BUILD_DEPENDS+= ${LOCALBASE}/bin/swig:${PORTSDIR}/devel/swig13 -INSTALL_TARGET+=install-pyldns -PLIST_SUB+= PYLDNS="" +.endif # BUILD_PYLDNS + +.if ${PORT_OPTIONS:MGOST} +BUILD_DEPENDS+= openssl>=1.0:${PORTSDIR}/security/openssl .else -PLIST_SUB+= PYLDNS="@comment " +NO_GOST= --disable-gost +CONFIGURE_ARGS+=${NO_GOST} .endif +.if !defined(BUILD_PYLDNS) + post-configure: .if ${PORT_OPTIONS:MEXAMPLES} @(cd ${WRKSRC}/examples; ./configure --prefix=${PREFIX} \ @@ -299,4 +304,6 @@ post-install: @(cd ${WRKSRC}/drill; ${GMAKE} install) .endif +.endif # BUILD_PYLDNS + .include <bsd.port.mk> Modified: head/dns/ldns/pkg-plist ============================================================================== --- head/dns/ldns/pkg-plist Thu Jul 11 12:14:56 2013 (r322765) +++ head/dns/ldns/pkg-plist Thu Jul 11 12:40:54 2013 (r322766) @@ -60,10 +60,4 @@ lib/libldns.a lib/libldns.la lib/libldns.so lib/libldns.so.1 -%%PYLDNS%%%%PYTHON_SITELIBDIR%%/_ldns.so.1 -%%PYLDNS%%%%PYTHON_SITELIBDIR%%/ldns.py -%%PYLDNS%%%%PYTHON_SITELIBDIR%%/_ldns.so -%%PYLDNS%%%%PYTHON_SITELIBDIR%%/_ldns.la -%%PYLDNS%%%%PYTHON_SITELIBDIR%%/_ldns.a -%%PYLDNS%%@dirrm %%PYTHON_SITELIBDIR%%/ldns @dirrm include/ldns Modified: head/dns/py-ldns/Makefile ============================================================================== --- head/dns/py-ldns/Makefile Thu Jul 11 12:14:56 2013 (r322765) +++ head/dns/py-ldns/Makefile Thu Jul 11 12:40:54 2013 (r322766) @@ -3,6 +3,8 @@ MASTERDIR= ${.CURDIR}/../../dns/ldns -OPTIONS_SET= PYLDNS +BUILD_PYLDNS=yes + +PLIST= ${.CURDIR}/pkg-plist .include "${MASTERDIR}/Makefile" Added: head/dns/py-ldns/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/dns/py-ldns/pkg-plist Thu Jul 11 12:40:54 2013 (r322766) @@ -0,0 +1,6 @@ +%%PYTHON_SITELIBDIR%%/_ldns.so.1 +%%PYTHON_SITELIBDIR%%/ldns.py +%%PYTHON_SITELIBDIR%%/_ldns.so +%%PYTHON_SITELIBDIR%%/_ldns.la +%%PYTHON_SITELIBDIR%%/_ldns.a +@dirrm %%PYTHON_SITELIBDIR%%/ldns _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed.