aboutsummaryrefslogtreecommitdiff
path: root/dns/nsd/Makefile
blob: bca2e19fb2a7f35c096a3a8a1d1cb9f5c135ced1 (plain) (blame)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Created by: alexis
# $FreeBSD$

PORTNAME=	nsd
PORTVERSION=	4.1.14
PORTREVISION=	2
CATEGORIES=	dns ipv6
MASTER_SITES=	http://www.nlnetlabs.nl/downloads/nsd/	\
		ftp://ftp.rhnet.is/pub/nsd/

MAINTAINER=	jaap@NLnetLabs.nl
COMMENT=	Authoritative only non-recursive name server

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

CONFLICTS=	nsd-[0-3]* nsd3-[0-9]*

USES=		cpe ssl
CPE_VENDOR=	nlnetlabs

USE_RC_SUBR=	nsd

NSDUSER?=	nsd
NSDGROUP?=	nsd
NSDLSDIR=	/var
NSDDBDIR=	/var/db/nsd
NSDRUNDIR=	/var/run/nsd
NSDMAX_IPS?=	512

GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--with-libevent=${LOCALBASE} \
		--with-user=${NSDUSER} \
		--with-configdir=${ETCDIR} \
		--localstatedir=${NSDLSDIR} \
		--with-dbfile=${NSDDBDIR}/nsd.db \
		--with-ssl=${OPENSSLBASE} \
		--with-pidfile=${NSDRUNDIR}/nsd.pid

PLIST_SUB=	NSDUSER=${NSDUSER} \
		NSDGROUP=${NSDGROUP} \
		NSDDBDIR=${NSDDBDIR} \
		NSDRUNDIR=${NSDRUNDIR}

USERS=		${NSDUSER}
GROUPS=		${NSDGROUP}

PORTDOCS=	CREDITS ChangeLog LICENSE NSD-DATABASE NSD-DIFFFILE \
		NSD-4-features NSD-FOR-BIND-USERS README README.icc RELNOTES \
		REQUIREMENTS TESTPLAN TODO UPGRADING coding-style \
		differences.tex

OPTIONS_DEFINE=		ROOT_SERVER LARGEFILE IPV6 BIND8_STATS CHECKING \
		MINRESPSIZE NSEC3 MMAP DOCS RRL ZONE_STATS MUNIN_PLUGIN \
		RADIXTREE
OPTIONS_DEFAULT=	LARGEFILE NSEC3 MINRESPSIZE RRL RADIXTREE
OPTIONS_SUB=	yes

MUNIN_PLUGIN_IMPLIES=	BIND8_STATS

ROOT_SERVER_DESC=	Configure as a root server
LARGEFILE_DESC=		Largefile support
BIND8_STATS_DESC=	BIND8-like NSTATS & XSTATS
CHECKING_DESC=		Internal run-time checks
NSEC3_DESC=		NSEC3 support
MINRESPSIZE_DESC=	Minimial response sizing
MMAP_DESC=		Use mmap instead of malloc (experimental)
RRL_DESC=		Response Rate Limiting
ZONE_STATS_DESC=	Separate statistics for each zone
MUNIN_PLUGIN_DESC=	Install Munin plugin (requires BIND8_STATS)
RADIXTREE_DESC=		Enabled: more (15%) memory use but less CPU cycles

LIB_DEPENDS+=	libevent.so:devel/libevent

ROOT_SERVER_CONFIGURE_ENABLE=	root-server
LARGEFILE_CONFIGURE_ENABLE=	largefile
BIND8_STATS_CONFIGURE_ENABLE=	bind8-stats
CHECKING_CONFIGURE_ENABLE=	checking
NSEC3_CONFIGURE_ENABLE=		nsec3
MINRESPSIZE_CONFIGURE_ENABLE=	minimal-responses
MMAP_CONFIGURE_ENABLE=		mmap
RRL_CONFIGURE_ENABLE=		ratelimit
ZONE_STATS_CONFIGURE_ENABLE=	zone-stats
IPV6_CONFIGURE_ENABLE=		ipv6
RADIXTREE_CONFIGURE_ENABLE=	radix-tree

post-build-MUNIN_PLUGIN-on:
	${REINPLACE_CMD} \
		-e 's|/usr/local|${LOCALBASE}|g' \
		-e 's|/usr/local/etc/nsd.conf|${ETCDIR}/nsd.conf|g' \
		-e 's|/usr/local/var/munin/plugin-state|/var/munin/plugin-state/root|g' \
		-e '90s|/var/munin/plugin-state/root|$${MUNIN_PLUGSTATE}|' \
		${WRKSRC}/contrib/nsd_munin_

post-install:
	${INSTALL_DATA} ${WRKSRC}/nsd.conf.sample \
		${STAGEDIR}${PREFIX}/etc/nsd/nsd.conf.sample
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/nsd \
		${STAGEDIR}${PREFIX}/sbin/nsd-checkconf \
		${STAGEDIR}${PREFIX}/sbin/nsd-checkzone \
		${STAGEDIR}${PREFIX}/sbin/nsd-control

post-install-MUNIN_PLUGIN-on:
	${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins
	${INSTALL_SCRIPT} ${WRKSRC}/contrib/nsd_munin_ \
		${STAGEDIR}${PREFIX}/share/munin/plugins

post-install-DOCS-on:
	${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>