summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/nsd/nsd-3.2.0-r1.ebuild')
-rw-r--r--net-dns/nsd/nsd-3.2.0-r1.ebuild79
1 files changed, 79 insertions, 0 deletions
diff --git a/net-dns/nsd/nsd-3.2.0-r1.ebuild b/net-dns/nsd/nsd-3.2.0-r1.ebuild
new file mode 100644
index 000000000..324368d66
--- /dev/null
+++ b/net-dns/nsd/nsd-3.2.0-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+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}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bind8-stats dnssec ipv6 largefile nsec3 nsid root-server runtime-checks tsig"
+
+DEPEND="tsig? ( dev-libs/openssl )"
+
+pkg_setup() {
+ if use runtime-checks; then
+ ewarn "You enabled runtime-checks USE flag, this could lead to a reduced service level"
+ fi
+ if use nsid; then
+ ewarn "You enabled nsid USE flag, this is still experimental"
+ fi
+
+ enewgroup nsd
+ enewuser nsd -1 -1 -1 nsd
+}
+
+src_compile() {
+ econf \
+ --with-dbfile=/var/db/nsd/nsd.db \
+ --with-difffile=/var/db/nsd/ixfr.db \
+ --with-pidfile=/var/run/nsd.pid \
+ --with-xfrdfile=/var/db/nsd/xfrd.state \
+ --with-zonesdir=/var/lib/nsd \
+ $(use_enable bind8-stats) \
+ $(use_enable dnssec) \
+ $(use_enable largefile) \
+ $(use_enable ipv6) \
+ $(use_enable nsec3) \
+ $(use_enable nsid) \
+ $(use_enable root-server) \
+ $(use_enable runtime-checks checking) \
+ $(use_enable tsig) || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc doc/{ChangeLog,CREDITS,NSD-FOR-BIND-USERS,README,REQUIREMENTS} || die "dodoc failed"
+
+ insinto /usr/share/${PN}
+ doins "${FILESDIR}/nsd.cron" || die "doins failed"
+ doins contrib/nsd.zones2nsd.conf || die "doins failed"
+
+ newinitd "${FILESDIR}"/nsd.initd nsd || die "newinitd failed"
+ newconfd "${FILESDIR}"/nsd.confd nsd || die "newconfd failed"
+
+ # database directory, writable by nsd for ixfr.db file
+ keepdir /var/db/nsd
+ fowners nsd:nsd /var/db/nsd
+ fperms 750 /var/db/nsd
+
+ # zones directory, writable by root for 'nsdc patch'
+ keepdir /var/lib/nsd
+ fowners root:nsd /var/lib/nsd
+ fperms 750 /var/lib/nsd
+}
+
+pkg_postinst() {
+ elog "If you are using bind and want to convert (or sync) bind zones"
+ elog "you should check out bind2nsd (http://bind2nsd.sourceforge.net)."
+ echo
+ elog "To automatically merge zone transfer changes back to NSD's"
+ elog "zone files using 'nsdc patch', try nsd.cron in /usr/share/${PN}"
+}