Date: Wed, 8 Apr 2026 11:44:49 -0700
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: Vladimir Druzenko <vvd@FreeBSD.org>, ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc: Jaap Akkerhuis <jaap@NLnetLabs.nl>
Subject: Re: git: 1773f41f3368 - main - dns/{ldns,p5-DNS-Ldns,py-ldns}: Update 1.8.4 => 1.9.0, improve port
Message-ID: <75396bd6-6227-4683-b71b-a9f9bebce27f@FreeBSD.org>
In-Reply-To: <a5ceac6e-0a6c-4b11-b53f-a460cd1b1908@FreeBSD.org>
References: <6941ebbd.21eea.59185546@gitrepo.freebsd.org> <a5ceac6e-0a6c-4b11-b53f-a460cd1b1908@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
On 4/8/26 11:33 AM, Bryan Drewery wrote: > On 12/16/25 3:31 PM, Vladimir Druzenko wrote: >> The branch main has been updated by vvd: >> >> URL: >> https://cgit.FreeBSD.org/ports/commit/?id=1773f41f3368362e3cb35cec01c8f980c16b394a >> >> commit 1773f41f3368362e3cb35cec01c8f980c16b394a >> Author: Jaap Akkerhuis <jaap@NLnetLabs.nl> >> AuthorDate: 2025-12-16 23:29:09 +0000 >> Commit: Vladimir Druzenko <vvd@FreeBSD.org> >> CommitDate: 2025-12-16 23:29:09 +0000 >> >> dns/{ldns,p5-DNS-Ldns,py-ldns}: Update 1.8.4 => 1.9.0, improve port >> Changelog: >> https://github.com/NLnetLabs/ldns/blob/1.9.0/Changelog >> Improve port: >> - Switch from "ifs" in goals to goals for options. >> - Remove old dead code - unused variable NO_GOST. >> - Fix warnings from portclippy. >> - Rework "if" for master and slave ports. >> - Sort pkg-plist. >> PR: 291573 >> Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org> >> --- >> dns/ldns/Makefile | 126 +++--- >> dns/ldns/distinfo | 6 +- >> dns/ldns/files/patch-swig | 77 ---- >> dns/ldns/pkg-plist | 994 >> +++++++++++++++++++++++----------------------- >> 4 files changed, 558 insertions(+), 645 deletions(-) >> >> diff --git a/dns/ldns/Makefile b/dns/ldns/Makefile >> index 7fe340e84f92..40aa1a73c173 100644 >> --- a/dns/ldns/Makefile >> +++ b/dns/ldns/Makefile >> @@ -1,5 +1,5 @@ >> PORTNAME= ldns >> -DISTVERSION= 1.8.4 >> +DISTVERSION= 1.9.0 >> CATEGORIES= dns >> MASTER_SITES= https://www.nlnetlabs.nl/downloads/ldns/ \ >> LOCAL/ehaupt >> @@ -12,10 +12,10 @@ LICENSE= BSD3CLAUSE >> LICENSE_FILE= ${WRKSRC}/LICENSE >> USES= cpe gmake libtool perl5 ssl >> -USE_PERL5= build >> +CPE_VENDOR= nlnetlabs >> USE_LDCONFIG= yes >> +USE_PERL5= build >> -CPE_VENDOR= nlnetlabs >> GNU_CONFIGURE= yes >> CONFIGURE_ARGS+= --disable-dane-ta-usage \ >> --with-ssl=${OPENSSLBASE} >> @@ -24,93 +24,95 @@ MAKE_JOBS_UNSAFE= yes >> .if ! (defined(BUILD_PYLDNS) || defined(BUILD_P5PERL)) >> OPTIONS_DEFINE= DOXYGEN DRILL EXAMPLES >> OPTIONS_DEFAULT= DRILL >> - >> -DRILL_DESC= With drill program >> - >> .endif >> -DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen >> -HTMLDOCS= doc/html/* >> - >> OPTIONS_DEFINE+= DANETAUSAGE GOST RRTYPEAMTRELAY RRTYPEAVC >> RRTYPENINFO \ >> RRTYPERKEY RRTYPETA >> +OPTIONS_SUB= yes >> + >> DANETAUSAGE_DESC= Enable ta usage, requires openssl >= 1.1.0 >> +DRILL_DESC= With drill program >> GOST_DESC= GOST signatures enabled, requires openssl >= 1.0.0 >> +RRTYPEAMTRELAY_DESC= Enable draft RR type amtrelay. >> +RRTYPEAVC_DESC= Enable draft RR type avc. >> RRTYPENINFO_DESC= Enable draft RR type ninfo. >> RRTYPERKEY_DESC= Enable draft RR type rkey. >> RRTYPETA_DESC= Enable draft RR type ta. >> -RRTYPEAVC_DESC= Enable draft RR type avc. >> -RRTYPEAMTRELAY_DESC= Enable draft RR type amtrelay. >> - >> -OPTIONS_SUB= yes >> -DANETAUSAGE_CONFIGURE_ENABLE= dane-ta-usage >> DANETAUSAGE_IMPLIES= RRTYPETA >> +DANETAUSAGE_CONFIGURE_ENABLE= dane-ta-usage >> +DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen >> +DRILL_CONFIGURE_WITH= drill >> +DRILL_INSTALL_TARGET= install-drill >> +EXAMPLES_CONFIGURE_WITH= examples >> +EXAMPLES_INSTALL_TARGET= install-examples >> GOST_CONFIGURE_ENABLE= gost >> +RRTYPEAMTRELAY_CONFIGURE_ENABLE= rrtype-amtrelay >> +RRTYPEAVC_CONFIGURE_ENABLE= rrtype-avc >> RRTYPENINFO_CONFIGURE_ENABLE= rrtype-ninfo >> RRTYPERKEY_CONFIGURE_ENABLE= rrtype-rkey >> RRTYPETA_CONFIGURE_ENABLE= rrtype-ta >> -RRTYPEAVC_CONFIGURE_ENABLE= rrtype-avc >> -RRTYPEAMTRELAY_CONFIGURE_ENABLE= rrtype-amtrelay >> -EXAMPLES_CONFIGURE_WITH= examples >> -DRILL_CONFIGURE_WITH= drill >> -DRILL_INSTALL_TARGET= install-drill >> -EXAMPLES_INSTALL_TARGET= install-examples >> .if defined(BUILD_PYLDNS) >> + >> +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} >> +BUILD_DEPENDS+= swig:devel/swig >> +LIB_DEPENDS+= libldns.so:dns/ldns >> USES+= python >> USE_PYTHON= flavors >> -PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} >> -ALL_TARGET= pyldns >> -INSTALL_TARGET= install-pyldns >> CONFIGURE_ARGS+= --with-pyldns >> -LIB_DEPENDS+= libldns.so:dns/ldns >> -BUILD_DEPENDS+= swig:devel/swig >> -CFLAGS+= -I${OPENSSLINC} >> + >> +ALL_TARGET= pyldns >> +INSTALL_TARGET= install-pyldns >> +CFLAGS+= -I${OPENSSLINC} >> post-patch: >> @${REINPLACE_CMD} \ >> -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' \ >> ${WRKSRC}/Makefile.in >> +post-install: >> +# file /usr/local/lib/python3.11/site-packages/_ldns.so.3.6.0 >> + ${STRIP_CMD} >> ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/site-packages/_ldns.so.3.6.0 >> + >> .elif defined(BUILD_P5PERL) >> + >> +PKGNAMEPREFIX= p5-DNS- >> +_BR_DEPENDS= p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib \ >> + p5-Test-Exception>=0:devel/p5-Test-Exception >> +BUILD_DEPENDS= ${_BR_DEPENDS} >> +LIB_DEPENDS+= libldns.so:dns/ldns >> +RUN_DEPENDS= ${_BR_DEPENDS} >> USES+= perl5 >> USE_PERL5= build run >> -PKGNAMEPREFIX= p5-DNS- >> + >> +CONFIGURE_ARGS+= --with-p5-dns-ldns >> ALL_TARGET= p5-dns-ldns >> INSTALL_TARGET= install-p5-dns-ldns >> -CONFIGURE_ARGS+= --with-p5-dns-ldns >> -RUN_DEPENDS= p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib \ >> - p5-Test-Exception>=0:devel/p5-Test-Exception >> -BUILD_DEPENDS= ${RUN_DEPENDS} >> -LIB_DEPENDS+= libldns.so:dns/ldns >> - >> post-patch: >> - ${SED} -i '' -e >> 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' ${WRKSRC}/Makefile.in >> + @${REINPLACE_CMD} \ >> + -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' \ >> + ${WRKSRC}/Makefile.in >> post-install: >> ${STRIP_CMD} >> ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/DNS/LDNS/LDNS.so >> -.else >> -ALL_TARGET= all >> -INSTALL_TARGET= install-lib install-h install-config >> -.endif # BUILD_PYLDNS || BUILD_P5PERL >> +.else # BUILD_PYLDNS || BUILD_P5PERL >> -.include <bsd.port.pre.mk> >> - >> -.if ! ${PORT_OPTIONS:MGOST} >> -NO_GOST= --disable-gost >> -.endif >> +ALL_TARGET= all >> +INSTALL_TARGET= install-lib install-h install-config >> -.if ! (defined(BUILD_PYLDNS) || defined(BUILD_P5PERL)) >> +EXAMPLES_LIST= ldns-chaos ldns-compare-zones ldns-dane ldns-dpa >> ldns-gen-zone ldns-key2ds \ >> + ldns-keyfetcher ldns-keygen ldns-mx ldns-notify >> ldns-nsec3-hash \ >> + ldns-read-zone ldns-resolver ldns-revoke ldns-rrsig >> ldns-signzone \ >> + ldns-test-edns ldns-testns ldns-update ldns-verify-zone >> ldns-version \ >> + ldns-walk ldns-zcat ldns-zsplit ldnsd >> -post-build: >> -.if ${PORT_OPTIONS:MDOXYGEN} >> +post-build-DOXYGEN-on: >> @(cd ${WRKSRC}; ${MAKE_CMD} doxygen) >> -.endif >> post-install: >> ${INSTALL_DATA} ${WRKSRC}/packaging/libldns.pc \ >> @@ -120,28 +122,16 @@ post-install: >> ${INSTALL_MAN} ${WRKSRC}/doc/man/man3/ldns_*.3 \ >> ${STAGEDIR}${PREFIX}/share/man/man3 >> ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.3 >> -.if ${PORT_OPTIONS:MDRILL} >> + >> +post-install-DOXYGEN-on: >> + (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}) >> + >> +post-install-DRILL-on: >> ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/drill >> -.endif >> -.if ${PORT_OPTIONS:MEXAMPLES} >> - for p in ldns-chaos ldns-compare-zones ldns-dane ldns-dpa >> ldns-gen-zone ldns-key2ds \ >> - ldns-keyfetcher ldns-keygen ldns-mx ldns-notify >> ldns-nsec3-hash \ >> - ldns-read-zone ldns-resolver ldns-revoke ldns-rrsig >> ldns-signzone \ >> - ldns-test-edns ldns-testns ldns-update ldns-verify-zone >> ldns-version \ >> - ldns-walk ldns-zcat ldns-zsplit ldnsd; do \ >> - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/$$p; done >> -.endif >> -.if ${PORT_OPTIONS:MDOXYGEN} >> - ${MKDIR} ${STAGEDIR}${DOCSDIR}/html >> - ${INSTALL_DATA} ${HTMLDOCS:S|^|${WRKSRC}/|} >> ${STAGEDIR}${DOCSDIR}/html >> -.endif >> -.endif # BUILD_PYLDNS || BUILD_P5PERL >> +post-install-EXAMPLES-on: >> + ${STRIP_CMD} ${EXAMPLES_LIST:S|^|${STAGEDIR}${PREFIX}/bin/|} >> -.if (defined(BUILD_PYLDNS)) >> -post-install: >> -# file /usr/local/lib/python3.11/site-packages/_ldns.so.3.6.0 >> - ${STRIP_CMD} >> ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/site-packages/_ldns.so.3.6.0 >> -.endif # BUILD_PYLDNS >> +.endif # BUILD_PYLDNS || BUILD_P5PERL >> -.include <bsd.port.post.mk> >> +.include <bsd.port.mk> >> diff --git a/dns/ldns/distinfo b/dns/ldns/distinfo >> index 901e4cbe566a..fa5bd3903f66 100644 >> --- a/dns/ldns/distinfo >> +++ b/dns/ldns/distinfo >> @@ -1,3 +1,3 @@ >> -TIMESTAMP = 1721549282 >> -SHA256 (ldns-1.8.4.tar.gz) = >> 838b907594baaff1cd767e95466a7745998ae64bc74be038dccc62e2de2e4247 >> -SIZE (ldns-1.8.4.tar.gz) = 1301058 >> +TIMESTAMP = 1764944929 >> +SHA256 (ldns-1.9.0.tar.gz) = >> abaeed2858fbea84a4eb9833e19e7d23380cc0f3d9b6548b962be42276ffdcb3 >> +SIZE (ldns-1.9.0.tar.gz) = 1305262 >> diff --git a/dns/ldns/files/patch-swig b/dns/ldns/files/patch-swig >> deleted file mode 100644 >> index 9d93eddf8f58..000000000000 >> --- a/dns/ldns/files/patch-swig >> +++ /dev/null >> @@ -1,77 +0,0 @@ >> ---- contrib/python/ldns_buffer.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_buffer.i >> -@@ -45,7 +45,7 @@ >> - /* Result generation, appends (ldns_buffer *) after the result. */ >> - %typemap(argout, noblock=1) (ldns_buffer **) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> -+ $result = SWIG_AppendOutput($result, >> - SWIG_NewPointerObj(SWIG_as_voidptr($1_buf), >> - SWIGTYPE_p_ldns_struct_buffer, SWIG_POINTER_OWN | 0)); >> - } >> ---- contrib/python/ldns_key.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_key.i >> -@@ -38,7 +38,7 @@ >> - /* result generation */ >> - %typemap(argout,noblock=1) (ldns_key **) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> SWIG_NewPointerObj(SWIG_as_voidptr($1_key), >> SWIGTYPE_p_ldns_struct_key, SWIG_POINTER_OWN | 0 )); >> -+ $result = SWIG_AppendOutput($result, >> SWIG_NewPointerObj(SWIG_as_voidptr($1_key), >> SWIGTYPE_p_ldns_struct_key, SWIG_POINTER_OWN | 0 )); >> - } >> - >> - %typemap(argout) ldns_rdf *r "Py_INCREF($input);" >> ---- contrib/python/ldns_packet.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_packet.i >> -@@ -45,7 +45,7 @@ >> - /* Result generation, appends (ldns_pkt *) after the result. */ >> - %typemap(argout,noblock=1) (ldns_pkt **) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> -+ $result = SWIG_AppendOutput($result, >> - SWIG_NewPointerObj(SWIG_as_voidptr($1_pkt), >> - SWIGTYPE_p_ldns_struct_pkt, SWIG_POINTER_OWN | 0 )); >> - } >> ---- contrib/python/ldns_rdf.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_rdf.i >> -@@ -45,7 +45,7 @@ >> - /* Result generation, appends (ldns_rdf *) after the result. */ >> - %typemap(argout, noblock=1) (ldns_rdf **) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> -+ $result = SWIG_AppendOutput($result, >> - SWIG_NewPointerObj(SWIG_as_voidptr($1_rdf), >> - SWIGTYPE_p_ldns_struct_rdf, SWIG_POINTER_OWN | 0)); >> - } >> ---- contrib/python/ldns_resolver.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_resolver.i >> -@@ -45,7 +45,7 @@ >> - /* Result generation, appends (ldns_resolver *) after the result. */ >> - %typemap(argout,noblock=1) (ldns_resolver **r) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> -+ $result = SWIG_AppendOutput($result, >> - SWIG_NewPointerObj(SWIG_as_voidptr($1_res), >> - SWIGTYPE_p_ldns_struct_resolver, SWIG_POINTER_OWN | 0 )); >> - } >> ---- contrib/python/ldns_rr.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_rr.i >> -@@ -45,7 +45,7 @@ >> - /* Result generation, appends (ldns_rr *) after the result. */ >> - %typemap(argout, noblock=1) (ldns_rr **) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> -+ $result = SWIG_AppendOutput($result, >> - SWIG_NewPointerObj(SWIG_as_voidptr($1_rr), >> - SWIGTYPE_p_ldns_struct_rr, SWIG_POINTER_OWN | 0 )); >> - } >> ---- contrib/python/ldns_zone.i.orig 2024-07-20 05:07:42 UTC >> -+++ contrib/python/ldns_zone.i >> -@@ -39,7 +39,7 @@ >> - /* result generation */ >> - %typemap(argout,noblock=1) (ldns_zone **) >> - { >> -- $result = SWIG_Python_AppendOutput($result, >> SWIG_NewPointerObj(SWIG_as_voidptr($1_zone), >> SWIGTYPE_p_ldns_struct_zone, SWIG_POINTER_OWN | 0 )); >> -+ $result = SWIG_AppendOutput($result, >> SWIG_NewPointerObj(SWIG_as_voidptr($1_zone), >> SWIGTYPE_p_ldns_struct_zone, SWIG_POINTER_OWN | 0 )); >> - } >> - >> - %nodefaultctor ldns_struct_zone; //no default constructor & destructor >> diff --git a/dns/ldns/pkg-plist b/dns/ldns/pkg-plist >> index 9a3c308d5482..1d247c3ade05 100644 >> --- a/dns/ldns/pkg-plist >> +++ b/dns/ldns/pkg-plist >> @@ -63,503 +63,6 @@ lib/libldns.so >> lib/libldns.so.3 >> lib/libldns.so.3.6.0 >> libdata/pkgconfig/libldns.pc > > Something is wrong here. The shared library version should have gotten > a bump and ports chased. > > In its configure.ac it says: > > > # ldns-1.8.3 has libversion 8:0:5 > # ldns-1.9.0 will have libversion 9:0:6 (new behaviour for > dnssec_rrs_add_rr) > # > AC_SUBST(VERSION_INFO, [9:0:6]) Looks like 1.8.4 bumped to the same version upstream. Sigh. https://github.com/NLnetLabs/ldns/commit/b433f1af243a4297033fac085fe7f7fd9b850a85 -AC_SUBST(VERSION_INFO, [8:0:5]) +AC_SUBST(VERSION_INFO, [9:0:6]) > > > I had claude code chase down an error I was getting with opendnssec > which landed here. > > > > ldns 1.9.0 inserted LDNS_RDF_TYPE_INT64 at enum position 5, > shifting every subsequent value by +1. But the FreeBSD port kept the > shared library as libldns.so.3.6.0 — no > > SONAME bump — so OpenDNSSEC's binary wasn't flagged for rebuild > and still has the old 1.8.x enum constants baked in. > > > Error I am seeing in opendnssec for the sake of google: > > > [adapter] error parsing RR at line 2 (Syntax error, could not parse > the RR's rdata) > >home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?75396bd6-6227-4683-b71b-a9f9bebce27f>
