summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/nsd/nsd-4.1.7.ebuild')
-rw-r--r--net-dns/nsd/nsd-4.1.7.ebuild96
1 files changed, 96 insertions, 0 deletions
diff --git a/net-dns/nsd/nsd-4.1.7.ebuild b/net-dns/nsd/nsd-4.1.7.ebuild
new file mode 100644
index 000000000000..6eeec8b61bfc
--- /dev/null
+++ b/net-dns/nsd/nsd-4.1.7.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit user eutils systemd
+
+DESCRIPTION="An authoritative only, high performance, open source name server"
+HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd"
+# version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1
+MY_PV=${PV/_rc/rc}
+MY_PV=${MY_PV/_beta/b}
+MY_P=${PN}-${MY_PV}
+S="${WORKDIR}/${MY_P}"
+SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bind8-stats ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl"
+
+RDEPEND="
+ virtual/yacc
+ libevent? ( dev-libs/libevent )
+ ssl? ( dev-libs/openssl:0= )
+ munin? ( net-analyzer/munin )
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/flex
+"
+
+src_prepare() {
+ # Fix the paths in the munin plugin to match our install
+ epatch "${FILESDIR}"/nsd_munin_.patch
+}
+
+src_configure() {
+ econf \
+ --enable-pie \
+ --enable-relro-now \
+ --enable-largefile \
+ --with-logfile="${EPREFIX}"/var/log/nsd.log \
+ --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid \
+ --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db \
+ --with-xfrdir="${EPREFIX}"/var/db/nsd \
+ --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state \
+ --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 ipv6) \
+ $(use_enable minimal-responses) \
+ $(use_enable mmap) \
+ $(use_enable nsec3) \
+ $(use_enable ratelimit) \
+ $(use_enable root-server) \
+ $(use_enable runtime-checks checking) \
+ $(use_with libevent) \
+ $(use_with ssl)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
+
+ newinitd "${FILESDIR}"/nsd.initd 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 -rf "${ED}"/run || die "Failed to remove /run"
+}
+
+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
+}