mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-06 17:47:07 -08:00
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@gentoo.org> Signed-off-by: Joshua Kinard <kumba@gentoo.org>
This commit is contained in:
co-authored by
Michael Orlitzky
parent
5de7b085ed
commit
9bdd082a7c
@@ -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
|
||||
|
||||
@@ -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" <wouter@nlnetlabs.nl>
|
||||
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
|
||||
|
||||
@@ -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 $?
|
||||
}
|
||||
@@ -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
|
||||
@@ -5,6 +5,9 @@
|
||||
<email>kumba@gentoo.org</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>
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user