aboutsummaryrefslogtreecommitdiffstats
path: root/dns/nsd/Makefile
blob: 2328c0b02c4a413e1a042924f435cf4c140bdb83 (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
# Created by: alexis
# $FreeBSD$

PORTNAME=   nsd
PORTVERSION=    4.1.17
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>