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. Fix: Please see attached patches --- 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 ---
Why are PR attachments so problematic? I started with: send-pr -a /tmp/patch-bind96.txt -a /tmp/patch-bind97.txt -a \ /tmp/patch-bind98.txt -a /tmp/patch-bind99.txt but the second one came out inline and the last one is named "patch.txt" instead of "patch-bind99.txt". This workflow rarely works correctly for me. Here's an attempt to send patch-bind97.txt as a firefox attachment. Craig
Here's updated set of patches vs the current ports tree. Craig
D'oh; let's try this one more time with unified diffs. Craig
Responsible Changed From-To: freebsd-ports-bugs->erwin I'll take it.
State Changed From-To: open->closed Committed, thanks! Sorry for the delay. Note that I had to adjust the conflicts regex as it only applied to 9.6, but had to have versions adjusted for the other ports.