commit:     9bdd082a7cd14d3af5a7f0e5438e224d88e10fbb
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  4 10:13:04 2024 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Sun Aug  4 10:15:21 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9bdd082a

net-dns/nsd: Cleanups, add 4.10.1

Clean out older ebuilds and files in FILESDIR and add
a new ebuild for recently released 4.10.1, which includes
fixes for parallelism in the simdzone Makefile and OpenRC
init/conf files sent to upstream by @mjo.

Closes: https://bugs.gentoo.org/936119
Bug: https://bugs.gentoo.org/927552
Co-authored-by: Michael Orlitzky <mjo <AT> gentoo.org>
Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>

 net-dns/nsd/Manifest                               |   3 +-
 .../nsd/files/nsd-4.8.0-implausible-stats.patch    |  22 ----
 net-dns/nsd/files/nsd.initd-r1                     |  59 ----------
 net-dns/nsd/files/nsd.service                      |  14 ---
 net-dns/nsd/metadata.xml                           |   9 +-
 .../nsd/{nsd-4.10.0.ebuild => nsd-4.10.1.ebuild}   |  12 +-
 net-dns/nsd/nsd-4.8.0-r1.ebuild                    | 128 ---------------------
 net-dns/nsd/nsd-4.9.1.ebuild                       |   4 +-
 net-dns/nsd/nsd-9999.ebuild                        |  12 +-
 9 files changed, 20 insertions(+), 243 deletions(-)

diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index b9e253e157d6..d2631f26e9a4 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -1,3 +1,2 @@
-DIST nsd-4.10.0.tar.gz 1388963 BLAKE2B 
1ae50e2c2756fbbbabe87ecf88e74c2f9e5bf21dfe8f34a279894499ba5434a9249e5424f511ed0b67d21b3b1c98b7a03e38cd20fd6dd0cd2a6ad4b397d352df
 SHA512 
ebf65d9a3d56ba560b587dc3cf91b0b086c9267c67f4c6a6c415cc062a08a9d0deb50cc44189b741d5b7634fe07038f6a234999f5a0ee7df6609fc026127fb09
-DIST nsd-4.8.0.tar.gz 1273228 BLAKE2B 
d1e6a5e8fb158bb32081bc7674d957e3f5a596ed10ee89dd6a5f6af9a79a8c130f2de7070345bee69cb7798e9f373d856a9336a9e9f65f733ff45e15e94833ff
 SHA512 
13c9cffffe6adfcbabf744ee2effebe6ae265d83476345a1edb60dc9c6d7f838a5e239e9b18e667924e5e76b74b2caac63818fcaecf7f0fa651ff21736174a46
+DIST nsd-4.10.1.tar.gz 1404799 BLAKE2B 
7b286ac681c1bb8201654cd2e5fac8a98256f6a595dfbb39bcfed92de63b3337e05d219bc766bab01e4aaf3fb1de3c128d7157caeee3a7f21e4132db9ea72cba
 SHA512 
b0f4bdca8a1c6fbbe99096abc8c5f8b34ef2e66dc0da44da253ab164b35ad0aaef5d05eb682b88cc68d8b1671f7b80abafee242a784ed6deb785adee7f6a53a9
 DIST nsd-4.9.1.tar.gz 1309953 BLAKE2B 
4a43db480be7196c0a177cc6ee2b9cd6eaaaa9af4d0c3dc7b8f07a5b9e24fd4eac816a29f83de870efe012f2f3bbcbb9bdbda903d05bf9d96574bddc97f68547
 SHA512 
65cd38aa8a41aee57a6950747de448bc4007a2d2c095152f1d22006f85faa7f0732ec4aa0aeae9f46bc69bff17164d8fe384bbc3441d0484364c4af938b511c1

diff --git a/net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch 
b/net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch
deleted file mode 100644
index 318f2a5e2f55..000000000000
--- a/net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/NLnetLabs/nsd/issues/313
-https://github.com/NLnetLabs/nsd/commit/ccc1bbc28abd3a723c25cb8dcc735731926979d0
-
-From ccc1bbc28abd3a723c25cb8dcc735731926979d0 Mon Sep 17 00:00:00 2001
-From: "W.C.A. Wijngaards" <[email protected]>
-Date: Tue, 6 Feb 2024 11:44:24 +0100
-Subject: [PATCH] - Fix #313: nsd 4.8 stats with implausible spikes.
-
---- a/remote.c
-+++ b/remote.c
-@@ -2932,7 +2932,9 @@ process_stats(RES* ssl, xfrd_state_type* xfrd, int peek)
-       process_stats_manage_clear(xfrd, stats, peek);
-       process_stats_add_total(xfrd, &total, stats);
-       print_stats(ssl, xfrd, &stattime, !peek, &total, zonestats);
--      xfrd->nsd->rc->stats_time = stattime;
-+      if(!peek) {
-+              xfrd->nsd->rc->stats_time = stattime;
-+      }
- 
-       free(stats);
- #ifdef USE_ZONE_STATS
-

diff --git a/net-dns/nsd/files/nsd.initd-r1 b/net-dns/nsd/files/nsd.initd-r1
deleted file mode 100644
index 2a97c6dea708..000000000000
--- a/net-dns/nsd/files/nsd.initd-r1
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="NSD is an authoritative-only, high performance, open source name 
server"
-extra_commands="configtest"
-extra_started_commands="reload"
-
-# these can be overridden in /etc/conf.d/nsd if necessary
-NSD_CONFIG="${NSD_CONFIG:-/etc/nsd/nsd.conf}"
-NSD_CHECKCONF="${NSD_CHECKCONF:-/usr/sbin/nsd-checkconf}"
-command="${NSD_BINARY:-/usr/sbin/nsd}"
-command_args="-c ${NSD_CONFIG}"
-
-depend() {
-       need net
-       use logger
-}
-
-get_pidfile() {
-       printf '%s' "$("${NSD_CHECKCONF}" -o pidfile "${NSD_CONFIG}")"
-}
-
-checkconfig() {
-       if ! test -e "${NSD_CONFIG}"; then
-               eerror "You need to create an appropriate config file."
-               eerror "An example can be found in /etc/nsd/nsd.conf.sample"
-               return 1
-       elif ! "${NSD_CHECKCONF}" "${NSD_CONFIG}"; then
-               eerror "You have errors in your configfile (${NSD_CONFIG})"
-               return $?
-       fi
-       return 0
-}
-
-configtest() {
-       ebegin "Checking ${SVCNAME} configuration"
-       checkconfig
-       eend $?
-}
-
-start_pre() {
-       checkconfig || return $?
-       pidfile="$(get_pidfile)"
-       checkpath --directory --owner nsd:nsd "${pidfile%/*}" || return 1
-}
-
-stop_pre() {
-       checkconfig || return $?
-       pidfile="$(get_pidfile)"
-}
-
-reload() {
-       checkconfig || return $?
-       pidfile="$(get_pidfile)"
-       ebegin "Reloading config and zone files"
-       kill -s HUP $(cat ${pidfile})
-       eend $?
-}

diff --git a/net-dns/nsd/files/nsd.service b/net-dns/nsd/files/nsd.service
deleted file mode 100644
index 8337557faeef..000000000000
--- a/net-dns/nsd/files/nsd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=NSD authoritative DNS server
-Wants=network.target
-After=network.target
-
-[Service]
-Type=forking
-ExecStartPre=/usr/bin/install -d -o nsd -g nsd /run/nsd
-ExecStart=/usr/sbin/nsd
-KillMode=mixed
-PIDFile=/run/nsd/nsd.pid
-
-[Install]
-WantedBy=multi-user.target

diff --git a/net-dns/nsd/metadata.xml b/net-dns/nsd/metadata.xml
index 0cdd2376e40c..65dad76e8f3c 100644
--- a/net-dns/nsd/metadata.xml
+++ b/net-dns/nsd/metadata.xml
@@ -5,6 +5,9 @@
                <email>[email protected]</email>
                <name>Joshua Kinard</name>
        </maintainer>
+       <upstream>
+               <remote-id type="github">NLnetLabs/nsd</remote-id>
+       </upstream>
        <use>
                <flag name="bind8-stats">Enables BIND8 like NSTATS and XSTATS 
and statistics in nsd-control</flag>
                <flag name="default-znow">Enable full relocation binding at 
load-time (RELRO NOW, to protect GOT and .dtor areas)</flag>
@@ -21,12 +24,8 @@
                <flag name="radix-tree">Use a radix tree for main lookups 
instead of a red-black tree</flag>
                <flag name="ratelimit">Enables ratelimiting, based on query 
name, type and source</flag>
                <flag name="recvmmsg">Enable recvmmsg and sendmmsg compilation, 
faster but some kernel versions may have implementation problems for IPv6</flag>
-               <flag name="root-server">Configure NSD as a root server 
(OBSOLETE: removed in >=4.9.x)</flag>
                <flag name="simdzone">Leverage SIMD instructions in modern CPUs 
to improve throughput</flag>
                <flag name="tfo">Enable TCP Fast Open</flag>
-               <flag name="year2038">Support timestamps after 2038 (glibc 
only!)</flag>
+               <flag name="year2038">Enables support for 64-bit 'time_t' (sets 
D_TIME_BITS=64; glibc only)</flag>
        </use>
-       <upstream>
-               <remote-id type="github">NLnetLabs/nsd</remote-id>
-       </upstream>
 </pkgmetadata>

diff --git a/net-dns/nsd/nsd-4.10.0.ebuild b/net-dns/nsd/nsd-4.10.1.ebuild
similarity index 92%
rename from net-dns/nsd/nsd-4.10.0.ebuild
rename to net-dns/nsd/nsd-4.10.1.ebuild
index da8e10d8e3ac..3d6930329889 100644
--- a/net-dns/nsd/nsd-4.10.0.ebuild
+++ b/net-dns/nsd/nsd-4.10.1.ebuild
@@ -52,8 +52,6 @@ PATCHES=(
        "${FILESDIR}/${PN}-munin-gentoo-paths.patch"
 )
 
-NSD_CONFD_VER="1"              # Cur version of NSD's OpenRC conf.d file.
-NSD_INITD_VER="2"              # Cur version of NSD's OpenRC init.d script.
 NSD_TMPFILESD_VER="1"          # Cur version of NSD's tmpfiles.d config.
 
 NSD_DBDIR="/var/db/nsd"                # Default dir for NSD's databases.
@@ -113,7 +111,9 @@ src_configure() {
                )
        fi
 
-       # This configure switch is only available on a glibc-based system.
+       # This configure switch only appears on glibc-based userlands.
+       # It enables 64-bit time_t to support timestamps greater than
+       # the year 2038 (D_TIME_BITS=64).
        if use elibc_glibc; then
                myconf+=( $(use_enable year2038) )
        fi
@@ -125,14 +125,14 @@ src_install() {
        emake DESTDIR="${D}" install
 
        dodoc 
doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
-       newinitd "${FILESDIR}/nsd.initd-r${NSD_INITD_VER}" nsd
-       newconfd "${FILESDIR}/nsd.confd-r${NSD_CONFD_VER}" nsd
+       newinitd "contrib/nsd.openrc.in" nsd
+       newconfd "contrib/nsd.openrc.conf" nsd
        newtmpfiles "${FILESDIR}/nsd.tmpfilesd-r${NSD_TMPFILESD_VER}" nsd.conf
 
        # Install munin plugin and config, if requested.
        if use munin ; then
                exeinto "/usr/libexec/munin/plugins"
-               doexe contrib/nsd_munin_
+               doexe "contrib/nsd_munin_"
                insinto "/etc/munin/plugin-conf.d"
                newins "${FILESDIR}/nsd.munin-conf" nsd_munin
        fi

diff --git a/net-dns/nsd/nsd-4.8.0-r1.ebuild b/net-dns/nsd/nsd-4.8.0-r1.ebuild
deleted file mode 100644
index 654f972468e3..000000000000
--- a/net-dns/nsd/nsd-4.8.0-r1.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools systemd
-
-DESCRIPTION="An authoritative only, high performance, open source name server"
-HOMEPAGE="https://www.nlnetlabs.nl/projects/nsd";
-
-if [[ ${PV} == *9999 ]] ; then
-       inherit git-r3
-       EGIT_REPO_URI="https://github.com/NLnetLabs/nsd.git";
-else
-       # version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 
4.0.0rc1
-       MY_PV="${PV/_beta/b}"
-       MY_PV="${MY_PV/_rc/rc}"
-       MY_P="${PN}-${MY_PV}"
-
-       if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
-               
SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz";
-               S="${WORKDIR}"/${MY_P}
-
-               KEYWORDS="amd64 x86"
-       fi
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="bind8-stats debug dnstap libevent minimal-responses mmap munin +nsec3 
ratelimit root-server ssl systemd"
-
-RDEPEND="
-       acct-group/nsd
-       acct-user/nsd
-       dnstap? (
-               dev-libs/fstrm
-               dev-libs/protobuf-c
-       )
-       libevent? ( dev-libs/libevent )
-       munin? ( net-analyzer/munin )
-       ssl? ( dev-libs/openssl:0= )
-       systemd? ( sys-apps/systemd )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-       app-alternatives/lex
-       app-alternatives/yacc
-       systemd? ( virtual/pkgconfig )
-"
-
-PATCHES=(
-       # Fix the paths in the munin plugin to match our install
-       "${FILESDIR}/${PN}-munin-gentoo-paths.patch"
-       "${FILESDIR}/${P}-implausible-stats.patch"
-)
-
-src_prepare() {
-       default
-
-       # Required to get correct pkg-config macros with USE="systemd"
-       # See bugs #663618 and #758050
-       eautoreconf
-}
-
-src_configure() {
-       local myeconfargs=(
-               --enable-ipv6
-               --enable-largefile
-               --enable-pie
-               --enable-relro-now
-               --enable-tcp-fastopen
-
-               --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db
-               --with-logfile="${EPREFIX}"/var/log/nsd.log
-               --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid
-               --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state
-               --with-xfrdir="${EPREFIX}"/var/db/nsd
-               --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list
-               --with-zonesdir="${EPREFIX}"/var/lib/nsd
-
-               $(use_enable bind8-stats)
-               $(use_enable bind8-stats zone-stats)
-               $(use_enable debug checking)
-               $(use_enable dnstap)
-               $(use_enable minimal-responses)
-               $(use_enable mmap)
-               $(use_enable nsec3)
-               $(use_enable ratelimit)
-               $(use_enable root-server)
-               $(use_enable systemd)
-               $(use_with libevent)
-               $(use_with ssl)
-       )
-
-       econf "${myeconfargs[@]}"
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-
-       dodoc 
doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
-
-       newinitd "${FILESDIR}"/nsd.initd-r1 nsd
-
-       # Install munin plugin and config
-       if use munin ; then
-               exeinto /usr/libexec/munin/plugins
-               doexe contrib/nsd_munin_
-               insinto /etc/munin/plugin-conf.d
-               newins "${FILESDIR}"/nsd.munin-conf nsd_munin
-       fi
-
-       systemd_dounit "${FILESDIR}"/nsd.service
-
-       # Remove the /run directory that usually resides on tmpfs and is
-       # being taken care of by the nsd init script anyway (checkpath)
-       rm -r "${ED}"/run || die "Failed to remove /run"
-
-       keepdir /var/db/${PN}
-}
-
-pkg_postinst() {
-       # database directory, writable by nsd for database updates and zone 
transfers
-       install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd
-
-       # zones directory, writable by nsd for zone file updates (nsd-control 
write)
-       install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd
-}

diff --git a/net-dns/nsd/nsd-4.9.1.ebuild b/net-dns/nsd/nsd-4.9.1.ebuild
index 3df2b6926da3..f18bd817fb51 100644
--- a/net-dns/nsd/nsd-4.9.1.ebuild
+++ b/net-dns/nsd/nsd-4.9.1.ebuild
@@ -101,7 +101,9 @@ src_configure() {
                --with-zonesdir="${EPREFIX}${NSD_ZNDIR}"
        )
 
-       # This configure switch is only available on a glibc-based system.
+       # This configure switch only appears on glibc-based userlands.
+       # It enables 64-bit time_t to support timestamps greater than
+       # the year 2038 (D_TIME_BITS=64).
        if use elibc_glibc; then
                myconf+=( $(use_enable year2038) )
        fi

diff --git a/net-dns/nsd/nsd-9999.ebuild b/net-dns/nsd/nsd-9999.ebuild
index da8e10d8e3ac..3d6930329889 100644
--- a/net-dns/nsd/nsd-9999.ebuild
+++ b/net-dns/nsd/nsd-9999.ebuild
@@ -52,8 +52,6 @@ PATCHES=(
        "${FILESDIR}/${PN}-munin-gentoo-paths.patch"
 )
 
-NSD_CONFD_VER="1"              # Cur version of NSD's OpenRC conf.d file.
-NSD_INITD_VER="2"              # Cur version of NSD's OpenRC init.d script.
 NSD_TMPFILESD_VER="1"          # Cur version of NSD's tmpfiles.d config.
 
 NSD_DBDIR="/var/db/nsd"                # Default dir for NSD's databases.
@@ -113,7 +111,9 @@ src_configure() {
                )
        fi
 
-       # This configure switch is only available on a glibc-based system.
+       # This configure switch only appears on glibc-based userlands.
+       # It enables 64-bit time_t to support timestamps greater than
+       # the year 2038 (D_TIME_BITS=64).
        if use elibc_glibc; then
                myconf+=( $(use_enable year2038) )
        fi
@@ -125,14 +125,14 @@ src_install() {
        emake DESTDIR="${D}" install
 
        dodoc 
doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
-       newinitd "${FILESDIR}/nsd.initd-r${NSD_INITD_VER}" nsd
-       newconfd "${FILESDIR}/nsd.confd-r${NSD_CONFD_VER}" nsd
+       newinitd "contrib/nsd.openrc.in" nsd
+       newconfd "contrib/nsd.openrc.conf" nsd
        newtmpfiles "${FILESDIR}/nsd.tmpfilesd-r${NSD_TMPFILESD_VER}" nsd.conf
 
        # Install munin plugin and config, if requested.
        if use munin ; then
                exeinto "/usr/libexec/munin/plugins"
-               doexe contrib/nsd_munin_
+               doexe "contrib/nsd_munin_"
                insinto "/etc/munin/plugin-conf.d"
                newins "${FILESDIR}/nsd.munin-conf" nsd_munin
        fi

Reply via email to