Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Apr 2026 11:49:26 -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:  <7d50eacf-50d4-40c0-9571-0e1bc152d3a2@FreeBSD.org>
In-Reply-To: <75396bd6-6227-4683-b71b-a9f9bebce27f@FreeBSD.org>
References:  <6941ebbd.21eea.59185546@gitrepo.freebsd.org> <a5ceac6e-0a6c-4b11-b53f-a460cd1b1908@FreeBSD.org> <75396bd6-6227-4683-b71b-a9f9bebce27f@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

On 4/8/26 11:44 AM, Bryan Drewery wrote:
> 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 reported upstream https://github.com/NLnetLabs/ldns/issues/301


>
>>
>>
>> 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?7d50eacf-50d4-40c0-9571-0e1bc152d3a2>