summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-06-29 17:39:24 +0000
committerSam James <sam@gentoo.org>2022-06-29 17:49:21 +0000
commit93228c2489743e2c043c4243967b4732a82c4de7 (patch)
tree90c7196c25a418dc47d9cbeb1a2068ef22b2d19a /net-dns/nsd
parentnet-dns/nsd: drop 4.3.9, 4.4.0 (diff)
downloadgentoo-93228c2489743e2c043c4243967b4732a82c4de7.tar.gz
gentoo-93228c2489743e2c043c4243967b4732a82c4de7.tar.bz2
gentoo-93228c2489743e2c043c4243967b4732a82c4de7.zip
net-dns/nsd: modernise
- Use more skel.ebuild-like structure - Use HTTPS - Drop USE=ipv6 (introduces no deps) - Rename USE=runtime-checks -> USE=debug (it's for controlling assertions) Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-dns/nsd')
-rw-r--r--net-dns/nsd/nsd-4.5.0-r1.ebuild127
-rw-r--r--net-dns/nsd/nsd-9999.ebuild36
2 files changed, 149 insertions, 14 deletions
diff --git a/net-dns/nsd/nsd-4.5.0-r1.ebuild b/net-dns/nsd/nsd-4.5.0-r1.ebuild
new file mode 100644
index 000000000000..d3d5d3b51e9d
--- /dev/null
+++ b/net-dns/nsd/nsd-4.5.0-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2022 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="
+ sys-devel/flex
+ virtual/yacc
+ systemd? ( virtual/pkgconfig )
+"
+
+PATCHES=(
+ # Fix the paths in the munin plugin to match our install
+ "${FILESDIR}"/nsd_munin_.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-9999.ebuild b/net-dns/nsd/nsd-9999.ebuild
index a41057e6300d..d3d5d3b51e9d 100644
--- a/net-dns/nsd/nsd-9999.ebuild
+++ b/net-dns/nsd/nsd-9999.ebuild
@@ -6,10 +6,9 @@ EAPI=8
inherit autotools systemd
DESCRIPTION="An authoritative only, high performance, open source name server"
-HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd"
-LICENSE="BSD"
-SLOT="0"
-if [[ "${PV}" == *9999 ]] ; then
+HOMEPAGE="https://www.nlnetlabs.nl/projects/nsd"
+
+if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/NLnetLabs/nsd.git"
else
@@ -18,12 +17,17 @@ else
MY_PV="${MY_PV/_rc/rc}"
MY_P="${PN}-${MY_PV}"
- [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~amd64 ~x86"
- SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz"
- S="${WORKDIR}/${MY_P}"
+ 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
-IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="bind8-stats debug dnstap libevent minimal-responses mmap munin +nsec3 ratelimit root-server ssl systemd"
RDEPEND="
acct-group/nsd
@@ -51,17 +55,20 @@ PATCHES=(
src_prepare() {
default
+
# Required to get correct pkg-config macros with USE="systemd"
- # see bugs #663618 and #758050
+ # 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
@@ -69,20 +76,21 @@ src_configure() {
--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 ipv6)
$(use_enable minimal-responses)
$(use_enable mmap)
$(use_enable nsec3)
$(use_enable ratelimit)
$(use_enable root-server)
- $(use_enable runtime-checks checking)
$(use_enable systemd)
$(use_with libevent)
$(use_with ssl)
)
+
econf "${myeconfargs[@]}"
}
@@ -93,7 +101,7 @@ src_install() {
newinitd "${FILESDIR}"/nsd.initd-r1 nsd
- # install munin plugin and config
+ # Install munin plugin and config
if use munin ; then
exeinto /usr/libexec/munin/plugins
doexe contrib/nsd_munin_
@@ -103,7 +111,7 @@ src_install() {
systemd_dounit "${FILESDIR}"/nsd.service
- # remove the /run directory that usually resides on tmpfs and is
+ # 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"