Date: Wed, 8 Apr 2026 11:33:14 -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: <a5ceac6e-0a6c-4b11-b53f-a460cd1b1908@FreeBSD.org>
In-Reply-To: <6941ebbd.21eea.59185546@gitrepo.freebsd.org>
index | next in thread | previous in thread | raw e-mail
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]) 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?a5ceac6e-0a6c-4b11-b53f-a460cd1b1908>
