summaryrefslogtreecommitdiff
blob: 314d1d751e4077b5c27d76d69ab7268e27dbff59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=6

inherit user

DESCRIPTION="An authoritative only, high performance, open source name server"
HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd"
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 minimal-responses mmap +nsec3 ratelimit root-server runtime-checks zone-stats"

RDEPEND="
	dev-libs/openssl:0=
	virtual/yacc
"
DEPEND="
	${RDEPEND}
	sys-devel/flex
"

pkg_setup() {
	enewgroup nsd
	enewuser nsd -1 -1 -1 nsd
}

src_configure() {
	# ebuild.sh sets localstatedir to /var/lib, but nsd expects /var in several locations
	# some of these cannot be changed by arguments to econf/configure, f.i. logfile
	econf \
		--localstatedir="${EPREFIX}/var" \
		--with-pidfile="${EPREFIX}/var/run/nsd/nsd.pid" \
		--with-zonesdir="${EPREFIX}/var/lib/nsd" \
		--enable-largefile \
		$(use_enable bind8-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_enable zone-stats)
}

src_install() {
	emake DESTDIR="${D}" install

	dodoc doc/{ChangeLog,CREDITS,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}

	insinto /usr/share/nsd
	doins contrib/nsd.zones2nsd.conf

	exeinto /etc/cron.daily
	newexe "${FILESDIR}"/nsd3-patch.cron nsd-patch.cron

	newinitd "${FILESDIR}"/nsd3.initd-r1 nsd

	# database directory, writable by nsd for database updates and zone transfers
	dodir /var/db/nsd
	fowners nsd:nsd /var/db/nsd
	fperms 750 /var/db/nsd

	# zones directory, writable by root for 'nsdc patch'
	dodir /var/lib/nsd
	fowners root:nsd /var/lib/nsd
	fperms 750 /var/lib/nsd

	# remove /var/run data created by Makefile, handled by initd script
	rm -r "${ED}"/var/run || die "could not remove /var/run/ directory"

}

pkg_postinst() {
	elog "This is the last official upstream release of the 3.2.x series."
	elog "Please consider upgrading to the 4.1.x series as that will remain the only one"
	elog "still receiving (security) updates from upstream."
}