freebsd-ports/dns/bind99/Makefile

221 lines
6.5 KiB
Makefile
Raw Normal View History

# $FreeBSD$
# pkg-help formatted with fmt 59 63
PORTNAME= bind
PORTVERSION= ${ISCVERSION:S/-P/P/}
PORTREVISION= 3
CATEGORIES= dns net ipv6
MASTER_SITES= ISC/bind9/${ISCVERSION}
PKGNAMESUFFIX= 99
DISTNAME= ${PORTNAME}-${ISCVERSION}
MAINTAINER= mat@FreeBSD.org
COMMENT= BIND DNS suite with updated DNSSEC and DNS64
2013-01-04 11:47:28 +01:00
LICENSE= ISCL
# ISC releases things like 9.8.0-P1, which our versioning doesn't like
ISCVERSION= 9.9.7
MAKE_JOBS_UNSAFE= yes
USES= cpe
CPE_VENDOR= isc
CPE_VERSION= ${ISCVERSION:C/-.*//}
.if ${ISCVERSION:M*-*}
CPE_UPDATE= ${ISCVERSION:C/.*-//:tl}
.endif
LIB_DEPENDS= libxml2.so:${PORTSDIR}/textproc/libxml2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --localstatedir=/var --disable-linux-caps \
--disable-symtable \
--with-randomdev=/dev/random \
--with-libxml2=${LOCALBASE} \
--sysconfdir=${ETCDIR}
ETCDIR= ${PREFIX}/etc/namedb
CONFLICTS= bind9*-9.[45678].* bind9*-sdb-9.[45678].* bind-tools-9.*
SUB_FILES= pkg-message
OPTIONS_DEFAULT= IPV6 SSL THREADS SIGCHASE IDN GSSAPI_NONE RRL
OPTIONS_DEFINE= SSL IDN REPLACE_BASE LARGE_FILE FIXED_RRSET SIGCHASE \
IPV6 THREADS FILTER_AAAA GOST PYTHON \
LINKS RPZ_NSIP RPZ_NSDNAME RRL DOCS RPZ_PATCH NEWSTATS
OPTIONS_GROUP= DLZ
OPTIONS_GROUP_DLZ= DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB \
DLZ_LDAP DLZ_FILESYSTEM DLZ_STUB
OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
OPTIONS_SUB= yes
SSL_DESC= Build with OpenSSL (Required for DNSSEC)
REPLACE_BASE_DESC= EOL, no longer supported
LARGE_FILE_DESC= 64-bit file support
FIXED_RRSET_DESC= Enable fixed rrset ordering
SIGCHASE_DESC= dig/host/nslookup will do DNSSEC validation
FILTER_AAAA_DESC= Enable filtering of AAAA records
GOST_DESC= Enable GOST ciphers, needs SSL (see help on 8 and 9)
PYTHON_DESC= Build with Python utilities
LINKS_DESC= Create conf file symlinks in ${PREFIX}
NEWSTATS_DESC= Enable alternate xml statistics channel format
RPZ_NSIP_DESC= Enable RPZ NSIP trigger rules
RPZ_NSDNAME_DESC= Enable RPZ NSDNAME policy records
RPZ_PATCH_DESC= RPZ improvements
Update to 9.9.4 Note that the Rate Limiting option has been renamed. Security Fixes Previously an error in bounds checking on the private type 'keydata' could be used to deny service through a deliberately triggerable REQUIRE failure (CVE-2013-4854). [RT #34238] Prevents exploitation of a runtime_check which can crash named when satisfying a recursive query for particular malformed zones. (CVE-2013-3919) [RT #33690] New Features Added Response Rate Limiting (RRL) functionality to reduce the effectiveness of DNS as an amplifier for reflected denial-of-service attacks by rate-limiting substantially-identical responses. [RT #28130] Feature Changes rndc status now also shows the build-id. [RT #20422] Improved OPT pseudo-record processing to make it easier to support new EDNS options. [RT #34414] "configure" now finishes by printing a summary of optional BIND features and whether they are active or inactive. ("configure --enable-full-report" increases the verbosity of the summary.) [RT #31777] Addressed compatibility issues with newer versions of Microsoft Visual Studio. [RT #33916] Improved the 'rndc' man page. [RT #33506] 'named -g' now no longer works with an invalid logging configuration. [RT #33473] The default (and minimum) value for tcp-listen-queue is now 10 instead of 3. This is a subtle control setting (not applicable to all OS environments). When there is a high rate of inbound TCP connections, it controls how many connections can be queued before they are accepted by named. Once this limit is exceeded, new TCP connections will be rejected. Note however that a value of 10 does not imply a strict limit of 10 queued TCP connections - the impact of changing this configuration setting will be OS-dependent. Larger values for tcp-listen queue will permit more pending tcp connections, which may be needed where there is a high rate of TCP-based traffic (for example in a dynamic environment where there are frequent zone updates and transfers). For most production servers the new default value of 10 should be adequate. [RT #33029] Added support for OpenSSL versions 0.9.8y, 1.0.0k, and 1.0.1e with PKCS#11. [RT #33463] Added logging messages on slave servers when they forward DDNS updates to a master. [RT #33240] Changed the logging category for RRL events from 'queries' to 'query-errors'. [RT #33540]
2013-09-20 10:22:45 +02:00
RRL_DESC= Response Rate Limiting
DLZ_DESC= Dynamically Loadable Zones
DLZ_POSTGRESQL_DESC= DLZ Postgres driver
DLZ_MYSQL_DESC= DLZ MySQL driver (no threading)
DLZ_BDB_DESC= DLZ BDB driver
DLZ_LDAP_DESC= DLZ LDAP driver
DLZ_FILESYSTEM_DESC= DLZ filesystem driver
DLZ_STUB_DESC= DLZ stub driver
GSSAPI_BASE_DESC= ${GSSAPI_DESC} (Heimdal in base)
GSSAPI_HEIMDAL_DESC= ${GSSAPI_DESC} (security/heimdal)
GSSAPI_MIT_DESC= ${GSSAPI_DESC} (security/krb5)
GSSAPI_NONE_DESC= No ${GSSAPI_DESC}
2014-01-06 14:34:48 +01:00
SSL_CONFIGURE_ON= --with-openssl=${OPENSSLBASE}
SSL_USE= openssl=yes
SSL_CONFIGURE_OFF= --disable-openssl-version-check --without-openssl
NEWSTATS_CONFIGURE_ENABLE= newstats
2014-01-06 14:34:48 +01:00
IDN_USES= iconv
IDN_CONFIGURE_ON= --with-idn=${LOCALBASE} ${ICONV_CONFIGURE_BASE}
IDN_LIB_DEPENDS= libidnkit.so:${PORTSDIR}/dns/idnkit
IDN_CONFIGURE_OFF= --without-idn
2014-01-06 14:34:48 +01:00
LARGE_FILE_CONFIGURE_ENABLE= largefile
2014-01-06 14:34:48 +01:00
SIGCHASE_CONFIGURE_ON= STD_CDEFINES="-DDIG_SIGCHASE=1"
2014-01-06 14:34:48 +01:00
IPV6_CONFIGURE_ENABLE= ipv6
2014-01-06 14:34:48 +01:00
FILTER_AAAA_CONFIGURE_ENABLE= filter-aaaa
GOST_CONFIGURE_WITH= gost
PYTHON_CONFIGURE_WITH= python
PYTHON_USES= python
2014-01-06 14:34:48 +01:00
DLZ_POSTGRESQL_CONFIGURE_ON= --with-dlz-postgres=yes
DLZ_POSTGRESQL_USES= pgsql
2014-01-06 14:34:48 +01:00
FIXED_RRSET_CONFIGURE_ENABLE= fixed-rrset
2014-01-06 14:34:48 +01:00
RPZ_NSIP_CONFIGURE_ENABLE= rpz-nsip
2014-01-06 14:34:48 +01:00
RPZ_NSDNAME_CONFIGURE_ENABLE= rpz-nsdname
RPZ_PATCH_PATCHFILES= ${ISCVERSION}-rpz2+rl.14038.05.patch.xz:vix
RPZ_PATCH_PATCH_SITES= http://ss.vix.su/~vjs/:vix LOCAL/mat/bind:vix
2014-01-06 14:34:48 +01:00
RRL_CONFIGURE_ENABLE= rrl
2014-01-06 14:34:48 +01:00
DLZ_MYSQL_CONFIGURE_ON= --with-dlz-mysql=yes
DLZ_MYSQL_USE= mysql=yes
2014-01-06 14:34:48 +01:00
DLZ_BDB_CONFIGURE_ON= --with-dlz-bdb=yes
DLZ_BDB_USE= bdb=yes
2014-01-06 14:34:48 +01:00
DLZ_LDAP_CONFIGURE_ON= --with-dlz-ldap=yes
DLZ_LDAP_USE= openldap=yes
2014-01-06 14:34:48 +01:00
DLZ_FILESYSTEM_CONFIGURE_ON= --with-dlz-filesystem=yes
2014-01-06 14:34:48 +01:00
DLZ_STUB_CONFIGURE_ON= --with-dlz-stub=yes
GSSAPI_BASE_USES= gssapi
GSSAPI_BASE_CONFIGURE_ON= \
--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_HEIMDAL_CONFIGURE_ON= \
--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_MIT_CONFIGURE_ON= \
--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
2014-01-06 14:34:48 +01:00
.include <bsd.port.options.mk>
.if !${PORT_OPTIONS:MLINKS}
PKGINSTALL=${NONEXISTENT}
.endif
.if ${PORT_OPTIONS:MTHREADS} && !${PORT_OPTIONS:MDLZ_MYSQL}
CONFIGURE_ARGS+= --enable-threads
.else
CONFIGURE_ARGS+= --disable-threads
.endif
.if ${PORT_OPTIONS:MREPLACE_BASE}
IGNORE= REPLACE_BASE is no longer supported
.endif # REPLACE_BASE
.if ${OPSYS} == DragonFly || (${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100)
PKGINSTALL= ${NONEXISTENT}
PLIST_SUB+= NOBASE="" BASE="@comment "
SUB_LIST+= NOBASE="" BASE="@comment "
USE_RC_SUBR+= named
SUB_FILES+= named.conf
.if ${PORT_OPTIONS:MGOST}
WITH_OPENSSL_PORT=yes
.endif
.else
PLIST_SUB+= NOBASE="@comment " BASE=""
SUB_LIST+= NOBASE="@comment " BASE=""
.if ${PORT_OPTIONS:MSSL}
WITH_OPENSSL_PORT= yes
.endif
.endif
PKGDEINSTALL= ${PKGINSTALL}
PORTDOCS= *
post-patch:
.for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
rndc/rndc.8
@${REINPLACE_CMD} -e 's#/etc/named.conf#${ETCDIR}/named.conf#g' \
-e 's#/etc/rndc.conf#${ETCDIR}/rndc.conf#g' \
-e "s#/var\/run\/named\/named.pid#/var/run/named/pid#" \
${WRKSRC}/bin/${FILE}
.endfor
post-configure:
@${REINPLACE_CMD} -e '/^SO_LDFLAGS/s/-Wl,-rpath,/-rpath /' ${WRKSRC}/bin/tests/system/dlzexternal/Makefile
post-install:
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}/arm
2014-01-06 14:34:48 +01:00
${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${STAGEDIR}${DOCSDIR}/arm
${INSTALL_DATA} ${WRKSRC}/doc/arm/Bv9ARM.pdf ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
${WRKSRC}/HISTORY ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.endif
2014-01-06 14:34:48 +01:00
.if ${OPSYS} == DragonFly || (${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100)
${MKDIR} ${STAGEDIR}${PREFIX}/etc/mtree
${MKDIR} ${STAGEDIR}${ETCDIR}
2014-01-06 14:34:48 +01:00
.for i in dynamic master slave working
@${MKDIR} ${STAGEDIR}${ETCDIR}/$i
.endfor
${INSTALL_DATA} ${WRKDIR}/named.conf ${STAGEDIR}${ETCDIR}/named.conf.sample
${INSTALL_DATA} ${FILESDIR}/named.root ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${FILESDIR}/empty.db ${STAGEDIR}${ETCDIR}/master
${INSTALL_DATA} ${FILESDIR}/localhost-forward.db ${STAGEDIR}${ETCDIR}/master
${INSTALL_DATA} ${FILESDIR}/localhost-reverse.db ${STAGEDIR}${ETCDIR}/master
${INSTALL_DATA} ${FILESDIR}/BIND.chroot.dist ${STAGEDIR}${PREFIX}/etc/mtree
${INSTALL_DATA} ${FILESDIR}/BIND.chroot.local.dist ${STAGEDIR}${PREFIX}/etc/mtree
.endif
${INSTALL_DATA} ${WRKSRC}/bin/rndc/rndc.conf \
${STAGEDIR}${ETCDIR}/rndc.conf.sample
.include <bsd.port.mk>