summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/nsd/Manifest1
-rw-r--r--net-dns/nsd/metadata.xml1
-rw-r--r--net-dns/nsd/nsd-4.1.26.ebuild122
3 files changed, 124 insertions, 0 deletions
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index 85f90d98ecb7..bcaac15bc81c 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -1,2 +1,3 @@
DIST nsd-4.1.24.tar.gz 1107574 BLAKE2B 9e22d6a07bc7c63efb41b0b4e1a0e1e36d94db9bf79f31a704bd1ec7ba371b059669feebca4b6ed9427ba41017f661ebd8a30a26ee433b45374df75d2c182cb2 SHA512 68f7f62c740e5a73d1b9da4b6d593ff1b728bc398ad126a75febaa523a2117c80315bf90ca6a60aabf38539181e00524cedb106a32b4883aa8ed021462d47762
DIST nsd-4.1.25.tar.gz 1108285 BLAKE2B 29428e59c0913e9eb6936b577c02b03136ae51e47d58f5d476368b4e6614e240a735a29ec5f224dbca6f76068fa81f0eed32fad75bf647673f35641ac414e3a6 SHA512 3a1de59d799a94aeb236139bf52f1d2e2139002ec8a033948a2324680df513e6c333e3564f526ca4fa106b42e50ae2bc67edadaeee72f608dabed962aacb5423
+DIST nsd-4.1.26.tar.gz 1127895 BLAKE2B b132022b846cffffa0ca34fff189f95c26dc7646648773d455ad7835c42718b1a00645b3b686e5c211432ef4bb83a3618ae6b675b9b53fd40ecf7a9f6d9ec5ba SHA512 49c07ad79e4e056bd519dad157a44d5cc55cd9a28723fd910159dc761d4ba56ef86cb7bf289dc5d1b363a49b999232bb7ec1afa737ca5c2659c4c9893e93494b
diff --git a/net-dns/nsd/metadata.xml b/net-dns/nsd/metadata.xml
index 0d66874728b4..80941c35662f 100644
--- a/net-dns/nsd/metadata.xml
+++ b/net-dns/nsd/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="bind8-stats">Enables BIND8 like NSTATS and XSTATS</flag>
+ <flag name="dnstap">Enable the structured binary log format</flag>
<flag name="libevent">Use libevent or libev, useful when zone
count is high</flag>
<flag name="minimal-responses">If minimal responses are disabled,
diff --git a/net-dns/nsd/nsd-4.1.26.ebuild b/net-dns/nsd/nsd-4.1.26.ebuild
new file mode 100644
index 000000000000..5fe276b04a99
--- /dev/null
+++ b/net-dns/nsd/nsd-4.1.26.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools user systemd
+
+# 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}"
+
+DESCRIPTION="An authoritative only, high performance, open source name server"
+HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd"
+SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd libressl"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="
+ dnstap? (
+ dev-libs/fstrm
+ dev-libs/protobuf-c
+ )
+ libevent? ( dev-libs/libevent )
+ munin? ( net-analyzer/munin )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/flex
+ virtual/yacc
+ systemd? ( virtual/pkgconfig )
+"
+
+# dnstap fails to build without ipv6
+# See https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=4213
+REQUIRED_USE="
+ dnstap? ( ipv6 )
+"
+
+PATCHES=(
+ # Fix the paths in the munin plugin to match our install
+ "${FILESDIR}"/nsd_munin_.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-largefile
+ --enable-pie
+ --enable-relro-now
+ --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 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[@]}"
+}
+
+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() {
+ # Do this in postinst to ensure the uid/gid is consistent for binpkgs
+ enewgroup nsd
+ enewuser nsd -1 -1 -1 nsd
+
+ # 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
+}