Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Oct 2012 14:46:37 -0700 (PDT)
From:      Craig Leres <leres@ee.lbl.gov>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        leres@ee.lbl.gov
Subject:   ports/172586: [PATCH] dns/bind9[6789]: Add configure options and convert to OptionsNG
Message-ID:  <201210102146.q9ALkb3F087285@hot.ee.lbl.gov>
Resent-Message-ID: <201210102258.q9AMwX55003917@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         172586
>Category:       ports
>Synopsis:       [PATCH] dns/bind9[6789]: Add configure options and convert to OptionsNG
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 10 22:58:33 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Craig Leres
>Release:        FreeBSD 8.2-RELEASE amd64
>Organization:
Lawrence Berkeley National Laboratory
>Environment:
System: FreeBSD hot.ee.lbl.gov 8.2-RELEASE FreeBSD 8.2-RELEASE #13: Wed Jun 13 18:31:18 PDT 2012 leres@hot.ee.lbl.gov:/usr/src/8.2-RELEASE/sys/amd64/compile/LBLIPV6 amd64

>Description:
	The bind ports are missing some configure options including
	--enable-fixed-rrset and --enable-rpz-nsdname. Upgrade to
	OptionsNG and update CONFLICTS while we're at it.

>How-To-Repeat:
>Fix:
	Please see attached patches


--- patch-bind96.txt begins here ---
--- Makefile.orig	2012-10-10 12:11:45.000000000 -0700
+++ Makefile	2012-10-10 14:26:05.000000000 -0700
@@ -1,4 +1,4 @@
-# $FreeBSD: ports/dns/bind96/Makefile,v 1.127 2012/10/10 11:54:44 erwin Exp $
+# $FreeBSD$
 
 PORTNAME=	bind96
 PORTVERSION=	9.6.3.1.ESV.R7.4
@@ -21,109 +21,121 @@
 CONFIGURE_ARGS=	--localstatedir=/var --disable-linux-caps \
 		--with-randomdev=/dev/random
 
-CONFLICTS=	bind9*-9.[45789].* bind9-sdb-* host-* bind-tools-9.*
+CONFLICTS=	bind9*-9.[45789].* bind9*-sdb-9.[45789].* bind-tools-9.*
 
-OPTIONS=	SSL "Building without OpenSSL removes DNSSEC" on \
-		LINKS "Create conf file symlinks in ${PREFIX}" on \
-		XML "Support for xml statistics output" on \
-		IDN "Add IDN support to dig, host, etc." off \
-		REPLACE_BASE "Replace base BIND with this version" off \
-		LARGE_FILE "64-bit file support" off \
-		SIGCHASE "dig/host/nslookup will do DNSSEC validation" off \
-		IPV6 "IPv6 Support (autodetected by default)" off \
-		THREADS	"Compile with thread support" on \
-		DLZ_POSTGRESQL "DLZ Postgres driver" off \
-		DLZ_MYSQL "DLZ MySQL driver (single-threaded BIND)" off \
-		DLZ_BDB "DLZ BDB driver" off \
-		DLZ_LDAP "DLZ LDAP driver" off \
-		DLZ_FILESYSTEM "DLZ filesystem driver" off \
-		DLZ_STUB "DLZ stub driver" off
+.include <bsd.port.options.mk>
 
-# Just in case
-USE_OPENSSL=	yes
-
-.include <bsd.port.pre.mk>
+OPTIONS_DEFINE= SSL LINKS XML IDN REPLACE_BASE LARGE_FILE SIGCHASE \
+		IPV6 THREADS FIXED_RRSET \
+		DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB DLZ_LDAP DLZ_FILESYSTEM \
+		DLZ_STUB
+
+OPTIONS_DEFAULT=SSL LINKS XML THREADS
+
+SSL_DESC=		Building without OpenSSL removes DNSSEC
+LINKS_DESC=		Create conf file symlinks in ${PREFIX}
+XML_DESC=		Support for xml statistics output
+IDN_DESC=		Add IDN support to dig, host, etc.
+REPLACE_BASE_DESC=	Replace base BIND with this version
+LARGE_FILE_DESC=	64-bit file support
+SIGCHASE_DESC=		dig/host/nslookup will do DNSSEC validation
+IPV6_DESC=		IPv6 Support (autodetected by default)
+THREADS_DESC=		Compile with thread support
+FIXED_RRSET_DESC=	Enable fixed rrset ordering
+DLZ_POSTGRESQL_DESC=	DLZ Postgres driver
+DLZ_MYSQL_DESC=		DLZ MySQL driver (single-threaded BIND)
+DLZ_BDB_DESC=		DLZ BDB driver
+DLZ_LDAP_DESC=		DLZ LDAP driver
+DLZ_FILESYSTEM_DESC=	DLZ filesystem driver
+DLZ_STUB_DESC=		DLZ stub driver
 
 .if (${ARCH} == "amd64")
 ARCH=		x86_64
 .endif
 
-.if !defined(WITHOUT_SSL)
+.if ${PORT_OPTIONS:MSSL}
 CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
+USE_OPENSSL=	yes
 .else
 CONFIGURE_ARGS+=	--disable-openssl-version-check
 CONFIGURE_ARGS+=	--without-openssl
 .endif
 
-.if !defined(WITHOUT_XML)
+.if ${PORT_OPTIONS:MXML}
 CONFIGURE_ARGS+=	--with-libxml2=${LOCALBASE}
 LIB_DEPENDS+=		xml2.5:${PORTSDIR}/textproc/libxml2
 .else
 CONFIGURE_ARGS+=	--without-libxml2
 .endif
 
-.if defined(WITH_IDN)
+.if ${PORT_OPTIONS:MIDN}
 CONFIGURE_ARGS+=	--with-idn=${LOCALBASE} --with-libiconv=${LOCALBASE}
 LIB_DEPENDS+=		idnkit.1:${PORTSDIR}/dns/idnkit
 .else
 CONFIGURE_ARGS+=	--without-idn
 .endif
 
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 PLIST_SUB+=	LINKS=""
 .else
 PLIST_SUB+=	LINKS="@comment "
 .endif
 
-.if defined(WITH_LARGE_FILE)
+.if ${PORT_OPTIONS:MLARGE_FILE}
 CONFIGURE_ARGS+=	--enable-largefile
 .endif
 
-.if defined(WITH_SIGCHASE)
+.if ${PORT_OPTIONS:MSIGCHASE}
 CONFIGURE_ARGS+=	STD_CDEFINES="-DDIG_SIGCHASE=1"
 .endif
 
-.if defined(WITH_IPV6)
+.if ${PORT_OPTIONS:MIPV6}
 CONFIGURE_ARGS+=	--enable-ipv6
 .endif
 
-.if defined(WITH_DLZ_POSTGRESQL)
+.if ${PORT_OPTIONS:MTHREADS}
+CONFIGURE_ARGS+=	--enable-threads
+.else
+CONFIGURE_ARGS+=	--disable-threads
+.endif
+
+.if ${PORT_OPTIONS:MFIXED_RRSET}
+CONFIGURE_ARGS+=	--enable-fixed-rrset
+.endif
+
+.if ${PORT_OPTIONS:MDLZ_POSTGRESQL}
 CONFIGURE_ARGS+=	--with-dlz-postgres=yes
 USE_PGSQL=		yes
 .endif
 
-.if defined(WITH_DLZ_MYSQL)
+.if ${PORT_OPTIONS:MDLZ_MYSQL}
 CONFIGURE_ARGS+=	--with-dlz-mysql=yes
 USE_MYSQL=		yes
-WITHOUT_THREADS=	yes
+.if ${PORT_OPTIONS:MTHREADS}
+	@${ECHO_CMD} "Incompatible options: DLZ_MYSQL and THREADS"
+	@${FALSE}
+.endif
 .endif
 
-.if defined(WITH_DLZ_BDB)
+.if ${PORT_OPTIONS:MDLZ_BDB}
 CONFIGURE_ARGS+=	--with-dlz-bdb=yes
 USE_BDB=		yes
 .endif
 
-.if defined(WITH_DLZ_LDAP)
+.if ${PORT_OPTIONS:MDLZ_LDAP}
 CONFIGURE_ARGS+=	--with-dlz-ldap=yes
 USE_OPENLDAP=		yes
 .endif
 
-.if defined(WITH_DLZ_FILESYSTEM)
+.if ${PORT_OPTIONS:MDLZ_FILESYSTEM}
 CONFIGURE_ARGS+=	--with-dlz-filesystem=yes
 .endif
 
-.if defined(WITH_DLZ_STUB)
+.if ${PORT_OPTIONS:MDLZ_STUB}
 CONFIGURE_ARGS+=	--with-dlz-stub=yes
 .endif
 
-# Has to be after the DLZ_MYSQL option
-.if !defined(WITHOUT_THREADS)
-CONFIGURE_ARGS+=	--enable-threads
-.else
-CONFIGURE_ARGS+=	--disable-threads
-.endif
-
-.if defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MREPLACE_BASE}
 PKGNAMESUFFIX=	-base
 PREFIX=		/usr
 BIND_DESTETC=	/etc/namedb
@@ -178,6 +190,8 @@
 verify:	checksum
 	gpg --verify ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}.asc
 
+.include <bsd.port.pre.mk>
+
 post-patch:
 .for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
 	rndc/rndc.8
@@ -204,7 +218,7 @@
 	${CP} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
 	    ${WRKSRC}/NSEC3-NOTES ${WRKSRC}/README* ${DOCSDIR}/
 .endif
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 .endif
 
--- patch-bind96.txt ends here ---

--- patch-bind97.txt begins here ---
--- Makefile.orig	2012-10-10 12:11:45.000000000 -0700
+++ Makefile	2012-10-10 14:26:09.000000000 -0700
@@ -1,4 +1,4 @@
-# $FreeBSD: ports/dns/bind97/Makefile,v 1.30 2012/10/10 11:54:44 erwin Exp $
+# $FreeBSD$
 
 PORTNAME?=	bind97
 PORTVERSION=	9.7.6.4
@@ -23,112 +23,127 @@
 		--disable-symtable \
 		--with-randomdev=/dev/random
 
-CONFLICTS=	bind9*-9.[45689].* bind9-sdb-* host-*
+CONFLICTS=	bind9*-9.[45789].* bind9*-sdb-9.[45789].*
 
-OPTIONS+=	SSL "Building without OpenSSL removes DNSSEC" on \
-		IDN "Add IDN support to dig, host, etc." off \
-		REPLACE_BASE "Replace base BIND with this version" off \
-		LARGE_FILE "64-bit file support" off \
-		SIGCHASE "dig/host/nslookup will do DNSSEC validation" off \
-		IPV6 "IPv6 Support (autodetected by default)" off \
-		THREADS	"Compile with thread support" on
+.include <bsd.port.options.mk>
+
+OPTIONS_DEFINE= SSL IDN REPLACE_BASE LARGE_FILE SIGCHASE IPV6 THREADS
 .if !defined(BIND_TOOLS_SLAVE)
-OPTIONS+=	LINKS "Create conf file symlinks in ${PREFIX}" on \
-		XML "Support for xml statistics output" on \
-		DLZ_POSTGRESQL "DLZ Postgres driver" off \
-		DLZ_MYSQL "DLZ MySQL driver (single-threaded BIND)" off \
-		DLZ_BDB "DLZ BDB driver" off \
-		DLZ_LDAP "DLZ LDAP driver" off \
-		DLZ_FILESYSTEM "DLZ filesystem driver" off \
-		DLZ_STUB "DLZ stub driver" off
+OPTIONS_DEFINE+=LINKS XML FIXED_RRSET DLZ_POSTGRESQL DLZ_MYSQL \
+		DLZ_BDB DLZ_LDAP DLZ_FILESYSTEM DLZ_STUB
+
 CONFLICTS+=	bind-tools-9.*
 .endif
 
-# Just in case
-USE_OPENSSL=	yes
+OPTIONS_DEFAULT=THREADS
+.if !defined(BIND_TOOLS_SLAVE)
+OPTIONS_DEFAULT+=LINKS XML
+.endif
 
-.include <bsd.port.pre.mk>
+SSL_DESC=		Building without OpenSSL removes DNSSEC
+LINKS_DESC=		Create conf file symlinks in ${PREFIX}
+XML_DESC=		Support for xml statistics output
+IDN_DESC=		Add IDN support to dig, host, etc.
+REPLACE_BASE_DESC=	Replace base BIND with this version
+LARGE_FILE_DESC=	64-bit file support
+SIGCHASE_DESC=		dig/host/nslookup will do DNSSEC validation
+IPV6_DESC=		IPv6 Support (autodetected by default)
+THREADS_DESC=		Compile with thread support
+FIXED_RRSET_DESC=	Enable fixed rrset ordering
+DLZ_POSTGRESQL_DESC=	DLZ Postgres driver
+DLZ_MYSQL_DESC=		DLZ MySQL driver (single-threaded BIND)
+DLZ_BDB_DESC=		DLZ BDB driver
+DLZ_LDAP_DESC=		DLZ LDAP driver
+DLZ_FILESYSTEM_DESC=	DLZ filesystem driver
+DLZ_STUB_DESC=		DLZ stub driver
 
 .if (${ARCH} == "amd64")
 ARCH=		x86_64
 .endif
 
-.if !defined(WITHOUT_SSL)
+.if ${PORT_OPTIONS:MSSL}
 CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
+USE_OPENSSL=	yes
 .else
 CONFIGURE_ARGS+=	--disable-openssl-version-check
 CONFIGURE_ARGS+=	--without-openssl
 .endif
 
-.if !defined(WITHOUT_XML) && !defined(BIND_TOOLS_SLAVE)
+.if ${PORT_OPTIONS:MXML} && !defined(BIND_TOOLS_SLAVE)
 CONFIGURE_ARGS+=	--with-libxml2=${LOCALBASE}
 LIB_DEPENDS+=		xml2.5:${PORTSDIR}/textproc/libxml2
 .else
 CONFIGURE_ARGS+=	--without-libxml2
 .endif
 
-.if defined(WITH_IDN)
+.if ${PORT_OPTIONS:MIDN}
 CONFIGURE_ARGS+=	--with-idn=${LOCALBASE} --with-libiconv=${LOCALBASE}
 LIB_DEPENDS+=		idnkit.1:${PORTSDIR}/dns/idnkit
 .else
 CONFIGURE_ARGS+=	--without-idn
 .endif
 
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 PLIST_SUB+=	LINKS=""
 .else
 PLIST_SUB+=	LINKS="@comment "
 .endif
 
-.if defined(WITH_LARGE_FILE)
+.if ${PORT_OPTIONS:MLARGE_FILE}
 CONFIGURE_ARGS+=	--enable-largefile
 .endif
 
-.if defined(WITH_SIGCHASE)
+.if ${PORT_OPTIONS:MSIGCHASE}
 CONFIGURE_ARGS+=	STD_CDEFINES="-DDIG_SIGCHASE=1"
 .endif
 
-.if defined(WITH_IPV6)
+.if ${PORT_OPTIONS:MIPV6}
 CONFIGURE_ARGS+=	--enable-ipv6
 .endif
 
-.if defined(WITH_DLZ_POSTGRESQL)
+.if ${PORT_OPTIONS:MTHREADS}
+CONFIGURE_ARGS+=	--enable-threads
+.else
+CONFIGURE_ARGS+=	--disable-threads
+.endif
+
+.if ${PORT_OPTIONS:MFIXED_RRSET}
+CONFIGURE_ARGS+=	--enable-fixed-rrset
+.endif
+
+.if ${PORT_OPTIONS:MDLZ_POSTGRESQL}
 CONFIGURE_ARGS+=	--with-dlz-postgres=yes
 USE_PGSQL=		yes
 .endif
 
-.if defined(WITH_DLZ_MYSQL)
+.if ${PORT_OPTIONS:MDLZ_MYSQL}
 CONFIGURE_ARGS+=	--with-dlz-mysql=yes
 USE_MYSQL=		yes
-WITHOUT_THREADS=	yes
+.if ${PORT_OPTIONS:MTHREADS}
+	@${ECHO_CMD} "Incompatible options: DLZ_MYSQL and THREADS"
+	@${FALSE}
+.endif
 .endif
 
-.if defined(WITH_DLZ_BDB)
+.if ${PORT_OPTIONS:MDLZ_BDB}
 CONFIGURE_ARGS+=	--with-dlz-bdb=yes
 USE_BDB=		yes
 .endif
 
-.if defined(WITH_DLZ_LDAP)
+.if ${PORT_OPTIONS:MDLZ_LDAP}
 CONFIGURE_ARGS+=	--with-dlz-ldap=yes
 USE_OPENLDAP=		yes
 .endif
 
-.if defined(WITH_DLZ_FILESYSTEM)
+.if ${PORT_OPTIONS:MDLZ_FILESYSTEM}
 CONFIGURE_ARGS+=	--with-dlz-filesystem=yes
 .endif
 
-.if defined(WITH_DLZ_STUB)
+.if ${PORT_OPTIONS:MDLZ_STUB}
 CONFIGURE_ARGS+=	--with-dlz-stub=yes
 .endif
 
-# Has to be after the DLZ_MYSQL option
-.if !defined(WITHOUT_THREADS)
-CONFIGURE_ARGS+=	--enable-threads
-.else
-CONFIGURE_ARGS+=	--disable-threads
-.endif
-
-.if defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MREPLACE_BASE}
 PKGNAMESUFFIX=	-base
 PREFIX=		/usr
 BIND_DESTETC=	/etc/namedb
@@ -187,6 +202,8 @@
 verify:	checksum
 	gpg --verify ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}.asc
 
+.include <bsd.port.pre.mk>
+
 .if !defined(BIND_TOOLS_SLAVE)
 post-patch:
 .for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
@@ -219,7 +236,7 @@
 	${CP} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ* \
 	    ${WRKSRC}/README ${DOCSDIR}/
 .endif
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 .endif
 
--- patch-bind97.txt ends here ---

--- patch-bind98.txt begins here ---
--- Makefile.orig	2012-10-10 12:11:45.000000000 -0700
+++ Makefile	2012-10-10 14:26:11.000000000 -0700
@@ -1,4 +1,4 @@
-# $FreeBSD: ports/dns/bind98/Makefile,v 1.20 2012/10/10 11:54:44 erwin Exp $
+# $FreeBSD$
 
 PORTNAME=	bind98
 PORTVERSION=	9.8.3.4
@@ -22,109 +22,131 @@
 		--disable-symtable \
 		--with-randomdev=/dev/random
 
-CONFLICTS=	bind9*-9.[45679].* bind9-sdb-* host-* bind-tools-9.*
+CONFLICTS=	bind9*-9.[45789].* bind9*-sdb-9.[45789].* bind-tools-9.*
 
-OPTIONS=	SSL "Building without OpenSSL removes DNSSEC" on \
-		LINKS "Create conf file symlinks in ${PREFIX}" on \
-		XML "Support for xml statistics output" on \
-		IDN "Add IDN support to dig, host, etc." off \
-		REPLACE_BASE "Replace base BIND with this version" off \
-		LARGE_FILE "64-bit file support" off \
-		SIGCHASE "dig/host/nslookup will do DNSSEC validation" off \
-		IPV6 "IPv6 Support (autodetected by default)" off \
-		THREADS	"Compile with thread support" on \
-		DLZ_POSTGRESQL "DLZ Postgres driver" off \
-		DLZ_MYSQL "DLZ MySQL driver (single-threaded BIND)" off \
-		DLZ_BDB "DLZ BDB driver" off \
-		DLZ_LDAP "DLZ LDAP driver" off \
-		DLZ_FILESYSTEM "DLZ filesystem driver" off \
-		DLZ_STUB "DLZ stub driver" off
+.include <bsd.port.options.mk>
 
-# Just in case
-USE_OPENSSL=	yes
-
-.include <bsd.port.pre.mk>
+OPTIONS_DEFINE= SSL LINKS XML IDN REPLACE_BASE LARGE_FILE SIGCHASE \
+		IPV6 THREADS FIXED_RRSET RPZ_NSIP RPZ_NSDNAME \
+		DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB DLZ_LDAP DLZ_FILESYSTEM \
+		DLZ_STUB
+
+OPTIONS_DEFAULT=SSL LINKS XML THREADS
+
+SSL_DESC=		Building without OpenSSL removes DNSSEC
+LINKS_DESC=		Create conf file symlinks in ${PREFIX}
+XML_DESC=		Support for xml statistics output
+IDN_DESC=		Add IDN support to dig, host, etc.
+REPLACE_BASE_DESC=	Replace base BIND with this version
+LARGE_FILE_DESC=	64-bit file support
+SIGCHASE_DESC=		dig/host/nslookup will do DNSSEC validation
+IPV6_DESC=		IPv6 Support (autodetected by default)
+THREADS_DESC=		Compile with thread support
+FIXED_RRSET_DESC=	Enable fixed rrset ordering
+RPZ_NSIP_DESC=		Enable RPZ NSIP trigger rules
+RPZ_NSDNAME_DESC=	Enable RPZ NSDNAME policy records
+DLZ_POSTGRESQL_DESC=	DLZ Postgres driver
+DLZ_MYSQL_DESC=		DLZ MySQL driver (single-threaded BIND)
+DLZ_BDB_DESC=		DLZ BDB driver
+DLZ_LDAP_DESC=		DLZ LDAP driver
+DLZ_FILESYSTEM_DESC=	DLZ filesystem driver
+DLZ_STUB_DESC=		DLZ stub driver
 
 .if (${ARCH} == "amd64")
 ARCH=		x86_64
 .endif
 
-.if !defined(WITHOUT_SSL)
+.if ${PORT_OPTIONS:MSSL}
 CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
+USE_OPENSSL=	yes
 .else
 CONFIGURE_ARGS+=	--disable-openssl-version-check
 CONFIGURE_ARGS+=	--without-openssl
 .endif
 
-.if !defined(WITHOUT_XML)
+.if ${PORT_OPTIONS:MXML}
 CONFIGURE_ARGS+=	--with-libxml2=${LOCALBASE}
 LIB_DEPENDS+=		xml2.5:${PORTSDIR}/textproc/libxml2
 .else
 CONFIGURE_ARGS+=	--without-libxml2
 .endif
 
-.if defined(WITH_IDN)
+.if ${PORT_OPTIONS:MIDN}
 CONFIGURE_ARGS+=	--with-idn=${LOCALBASE} --with-libiconv=${LOCALBASE}
 LIB_DEPENDS+=		idnkit.1:${PORTSDIR}/dns/idnkit
 .else
 CONFIGURE_ARGS+=	--without-idn
 .endif
 
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 PLIST_SUB+=	LINKS=""
 .else
 PLIST_SUB+=	LINKS="@comment "
 .endif
 
-.if defined(WITH_LARGE_FILE)
+.if ${PORT_OPTIONS:MLARGE_FILE}
 CONFIGURE_ARGS+=	--enable-largefile
 .endif
 
-.if defined(WITH_SIGCHASE)
+.if ${PORT_OPTIONS:MSIGCHASE}
 CONFIGURE_ARGS+=	STD_CDEFINES="-DDIG_SIGCHASE=1"
 .endif
 
-.if defined(WITH_IPV6)
+.if ${PORT_OPTIONS:MIPV6}
 CONFIGURE_ARGS+=	--enable-ipv6
 .endif
 
-.if defined(WITH_DLZ_POSTGRESQL)
+.if ${PORT_OPTIONS:MTHREADS}
+CONFIGURE_ARGS+=	--enable-threads
+.else
+CONFIGURE_ARGS+=	--disable-threads
+.endif
+
+.if ${PORT_OPTIONS:MFIXED_RRSET}
+CONFIGURE_ARGS+=	--enable-fixed-rrset
+.endif
+
+.if ${PORT_OPTIONS:MRPZ_NSIP}
+CONFIGURE_ARGS+=	--enable-rpz-nsip
+.endif
+
+.if ${PORT_OPTIONS:MRPZ_NSDNAME}
+CONFIGURE_ARGS+=	--enable-rpz-nsdname
+.endif
+
+.if ${PORT_OPTIONS:MDLZ_POSTGRESQL}
 CONFIGURE_ARGS+=	--with-dlz-postgres=yes
 USE_PGSQL=		yes
 .endif
 
-.if defined(WITH_DLZ_MYSQL)
+.if ${PORT_OPTIONS:MDLZ_MYSQL}
 CONFIGURE_ARGS+=	--with-dlz-mysql=yes
 USE_MYSQL=		yes
-WITHOUT_THREADS=	yes
+.if ${PORT_OPTIONS:MTHREADS}
+	@${ECHO_CMD} "Incompatible options: DLZ_MYSQL and THREADS"
+	@${FALSE}
+.endif
 .endif
 
-.if defined(WITH_DLZ_BDB)
+.if ${PORT_OPTIONS:MDLZ_BDB}
 CONFIGURE_ARGS+=	--with-dlz-bdb=yes
 USE_BDB=		yes
 .endif
 
-.if defined(WITH_DLZ_LDAP)
+.if ${PORT_OPTIONS:MDLZ_LDAP}
 CONFIGURE_ARGS+=	--with-dlz-ldap=yes
 USE_OPENLDAP=		yes
 .endif
 
-.if defined(WITH_DLZ_FILESYSTEM)
+.if ${PORT_OPTIONS:MDLZ_FILESYSTEM}
 CONFIGURE_ARGS+=	--with-dlz-filesystem=yes
 .endif
 
-.if defined(WITH_DLZ_STUB)
+.if ${PORT_OPTIONS:MDLZ_STUB}
 CONFIGURE_ARGS+=	--with-dlz-stub=yes
 .endif
 
-# Has to be after the DLZ_MYSQL option
-.if !defined(WITHOUT_THREADS)
-CONFIGURE_ARGS+=	--enable-threads
-.else
-CONFIGURE_ARGS+=	--disable-threads
-.endif
-
-.if defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MREPLACE_BASE}
 PKGNAMESUFFIX=	-base
 PREFIX=		/usr
 BIND_DESTETC=	/etc/namedb
@@ -181,6 +203,8 @@
 verify:	checksum
 	gpg --verify ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}.asc
 
+.include <bsd.port.pre.mk>
+
 post-patch:
 .for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
 	rndc/rndc.8
@@ -214,7 +238,7 @@
 	${CP} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
 		${WRKSRC}/HISTORY ${WRKSRC}/README ${DOCSDIR}/
 .endif
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 .endif
 
--- patch-bind98.txt ends here ---

--- patch-bind99.txt begins here ---
--- Makefile.orig	2012-10-10 12:11:45.000000000 -0700
+++ Makefile	2012-10-10 14:26:13.000000000 -0700
@@ -1,4 +1,4 @@
-# $FreeBSD: ports/dns/bind99/Makefile,v 1.14 2012/10/10 11:54:44 erwin Exp $
+# $FreeBSD$
 
 PORTNAME=	bind99
 PORTVERSION=	9.9.1.4
@@ -22,26 +22,35 @@
 		--disable-symtable \
 		--with-randomdev=/dev/random
 
-CONFLICTS=	bind9*-9.[45678].* bind9-sdb-* host-* bind-tools-9.*
+CONFLICTS=	bind9*-9.[45789].* bind9*-sdb-9.[45789].* bind-tools-9.*
 
-OPTIONS=	SSL "Building without OpenSSL removes DNSSEC" on \
-		LINKS "Create conf file symlinks in ${PREFIX}" on \
-		XML "Support for xml statistics output" on \
-		IDN "Add IDN support to dig, host, etc." off \
-		REPLACE_BASE "Replace base BIND with this version" off \
-		LARGE_FILE "64-bit file support" off \
-		SIGCHASE "dig/host/nslookup will do DNSSEC validation" off \
-		IPV6 "IPv6 Support (autodetected by default)" off \
-		THREADS	"Compile with thread support" on \
-		DLZ_POSTGRESQL "DLZ Postgres driver" off \
-		DLZ_MYSQL "DLZ MySQL driver (single-threaded BIND)" off \
-		DLZ_BDB "DLZ BDB driver" off \
-		DLZ_LDAP "DLZ LDAP driver" off \
-		DLZ_FILESYSTEM "DLZ filesystem driver" off \
-		DLZ_STUB "DLZ stub driver" off
+.include <bsd.port.options.mk>
 
-# Just in case
-USE_OPENSSL=	yes
+OPTIONS_DEFINE= SSL LINKS XML IDN REPLACE_BASE LARGE_FILE SIGCHASE \
+		IPV6 THREADS FIXED_RRSET RPZ_NSIP RPZ_NSDNAME \
+		DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB DLZ_LDAP DLZ_FILESYSTEM \
+		DLZ_STUB
+
+OPTIONS_DEFAULT=SSL LINKS XML THREADS
+
+SSL_DESC=		Building without OpenSSL removes DNSSEC
+LINKS_DESC=		Create conf file symlinks in ${PREFIX}
+XML_DESC=		Support for xml statistics output
+IDN_DESC=		Add IDN support to dig, host, etc.
+REPLACE_BASE_DESC=	Replace base BIND with this version
+LARGE_FILE_DESC=	64-bit file support
+SIGCHASE_DESC=		dig/host/nslookup will do DNSSEC validation
+IPV6_DESC=		IPv6 Support (autodetected by default)
+THREADS_DESC=		Compile with thread support
+FIXED_RRSET_DESC=	Enable fixed rrset ordering
+RPZ_NSIP_DESC=		Enable RPZ NSIP trigger rules
+RPZ_NSDNAME_DESC=	Enable RPZ NSDNAME policy records
+DLZ_POSTGRESQL_DESC=	DLZ Postgres driver
+DLZ_MYSQL_DESC=		DLZ MySQL driver (single-threaded BIND)
+DLZ_BDB_DESC=		DLZ BDB driver
+DLZ_LDAP_DESC=		DLZ LDAP driver
+DLZ_FILESYSTEM_DESC=	DLZ filesystem driver
+DLZ_STUB_DESC=		DLZ stub driver
 
 .include <bsd.port.pre.mk>
 
@@ -49,82 +58,97 @@
 ARCH=		x86_64
 .endif
 
-.if !defined(WITHOUT_SSL)
+.if ${PORT_OPTIONS:MSSL}
 CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
+USE_OPENSSL=	yes
 .else
 CONFIGURE_ARGS+=	--disable-openssl-version-check
 CONFIGURE_ARGS+=	--without-openssl
 .endif
 
-.if !defined(WITHOUT_XML)
+.if ${PORT_OPTIONS:MXML}
 CONFIGURE_ARGS+=	--with-libxml2=${LOCALBASE}
 LIB_DEPENDS+=		xml2.5:${PORTSDIR}/textproc/libxml2
 .else
 CONFIGURE_ARGS+=	--without-libxml2
 .endif
 
-.if defined(WITH_IDN)
+.if ${PORT_OPTIONS:MIDN}
 CONFIGURE_ARGS+=	--with-idn=${LOCALBASE} --with-libiconv=${LOCALBASE}
 LIB_DEPENDS+=		idnkit.1:${PORTSDIR}/dns/idnkit
 .else
 CONFIGURE_ARGS+=	--without-idn
 .endif
 
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 PLIST_SUB+=	LINKS=""
 .else
 PLIST_SUB+=	LINKS="@comment "
 .endif
 
-.if defined(WITH_LARGE_FILE)
+.if ${PORT_OPTIONS:MLARGE_FILE}
 CONFIGURE_ARGS+=	--enable-largefile
 .endif
 
-.if defined(WITH_SIGCHASE)
+.if ${PORT_OPTIONS:MSIGCHASE}
 CONFIGURE_ARGS+=	STD_CDEFINES="-DDIG_SIGCHASE=1"
 .endif
 
-.if defined(WITH_IPV6)
+.if ${PORT_OPTIONS:MIPV6}
 CONFIGURE_ARGS+=	--enable-ipv6
 .endif
 
-.if defined(WITH_DLZ_POSTGRESQL)
+.if ${PORT_OPTIONS:MTHREADS}
+CONFIGURE_ARGS+=	--enable-threads
+.else
+CONFIGURE_ARGS+=	--disable-threads
+.endif
+
+.if ${PORT_OPTIONS:MFIXED_RRSET}
+CONFIGURE_ARGS+=	--enable-fixed-rrset
+.endif
+
+.if ${PORT_OPTIONS:MRPZ_NSIP}
+CONFIGURE_ARGS+=	--enable-rpz-nsip
+.endif
+
+.if ${PORT_OPTIONS:MRPZ_NSDNAME}
+CONFIGURE_ARGS+=	--enable-rpz-nsdname
+.endif
+
+.if ${PORT_OPTIONS:MDLZ_POSTGRESQL}
 CONFIGURE_ARGS+=	--with-dlz-postgres=yes
 USE_PGSQL=		yes
 .endif
 
-.if defined(WITH_DLZ_MYSQL)
+.if ${PORT_OPTIONS:MDLZ_MYSQL}
 CONFIGURE_ARGS+=	--with-dlz-mysql=yes
 USE_MYSQL=		yes
-WITHOUT_THREADS=	yes
+.if ${PORT_OPTIONS:MTHREADS}
+	@${ECHO_CMD} "Incompatible options: DLZ_MYSQL and THREADS"
+	@${FALSE}
+.endif
 .endif
 
-.if defined(WITH_DLZ_BDB)
+.if ${PORT_OPTIONS:MDLZ_BDB}
 CONFIGURE_ARGS+=	--with-dlz-bdb=yes
 USE_BDB=		yes
 .endif
 
-.if defined(WITH_DLZ_LDAP)
+.if ${PORT_OPTIONS:MDLZ_LDAP}
 CONFIGURE_ARGS+=	--with-dlz-ldap=yes
 USE_OPENLDAP=		yes
 .endif
 
-.if defined(WITH_DLZ_FILESYSTEM)
+.if ${PORT_OPTIONS:MDLZ_FILESYSTEM}
 CONFIGURE_ARGS+=	--with-dlz-filesystem=yes
 .endif
 
-.if defined(WITH_DLZ_STUB)
+.if ${PORT_OPTIONS:MDLZ_STUB}
 CONFIGURE_ARGS+=	--with-dlz-stub=yes
 .endif
 
-# Has to be after the DLZ_MYSQL option
-.if !defined(WITHOUT_THREADS)
-CONFIGURE_ARGS+=	--enable-threads
-.else
-CONFIGURE_ARGS+=	--disable-threads
-.endif
-
-.if defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MREPLACE_BASE}
 PKGNAMESUFFIX=	-base
 PREFIX=		/usr
 BIND_DESTETC=	/etc/namedb
@@ -214,7 +238,7 @@
 	${CP} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
 		${WRKSRC}/HISTORY ${WRKSRC}/README ${DOCSDIR}/
 .endif
-.if !defined(WITHOUT_LINKS) && !defined(WITH_REPLACE_BASE)
+.if ${PORT_OPTIONS:MLINKS} && empty(PORT_OPTIONS:MREPLACE_BASE)
 	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 .endif
 
--- patch-bind99.txt ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210102146.q9ALkb3F087285>