Index: head/dns/knot2/Makefile =================================================================== --- head/dns/knot2/Makefile (revision 489773) +++ head/dns/knot2/Makefile (revision 489774) @@ -1,108 +1,107 @@ # Created by: Leo Vandewoestijne # $FreeBSD$ PORTNAME= knot -DISTVERSION= 2.7.4 -PORTREVISION= 2 +DISTVERSION= 2.7.5 CATEGORIES= dns ipv6 MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \ https://dns.company/downloads/knot-dns/ PKGNAMESUFFIX?= 2 MAINTAINER= freebsd@dns.company COMMENT?= High performance authoritative-only DNS server LICENSE= GPLv3 NOT_FOR_ARCHS= i386 NOT_FOR_ARCHS_REASON_i386=Uses 64 bit atomics that clang cannot generate on i386 on FreeBSD >= 11.2 LIB_DEPENDS= libgnutls.so:security/gnutls \ liblmdb.so:databases/lmdb \ libnettle.so:security/nettle \ liburcu.so:sysutils/liburcu CONFLICTS= knot-1.* knot1-[0-6].* USES= alias compiler:c11 libedit libtool localbase ncurses pkgconfig python tar:xz GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-recvmmsg=no \ --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig .if !defined(UTILS_ONLY) && !defined(LIB_ONLY) CONFIGURE_ARGS+= --with-rundir=/var/run/knot \ --with-storage=/var/db/knot USE_RC_SUBR= ${PORTNAME} SUB_FILES= pkg-message .endif .if defined(UTILS_ONLY) || defined(LIB_ONLY) CONFIGURE_ARGS+= --disable-daemon \ --disable-modules .endif .if defined(LIB_ONLY) CONFIGURE_ARGS+= --disable-utilities .endif USE_LDCONFIG= yes LLD_UNSAFE= yes INSTALL_TARGET= install-strip USERS= knot GROUPS= knot SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}" PORTDOCS= COPYING NEWS README OPTIONS_DEFINE= DNSTAP DOCS .if !defined(LIB_ONLY) OPTIONS_DEFINE+= IDN .endif .if !defined(UTILS_ONLY) && !defined(LIB_ONLY) OPTIONS_DEFINE+= FASTPARSER MAXMINDDB .endif DNSTAP_DESC= dnstap support (see dnstap.info) DNSTAP_CONFIGURE_ENABLE= dnstap DNSTAP_CONFIGURE_WITH= module-dnstap=yes DNSTAP_LIB_DEPENDS= libprotobuf-c.so:devel/protobuf-c \ libfstrm.so:devel/fstrm # XXX: because `kdig_CPPFLAGS += $(DNSTAP_CFLAGS)' line is missing from # `src/Makefile.am' file (and thus pre-generated `src/Makefile.in') which # should contain "$libfstrm_CFLAGS $libprotobuf_c_CFLAGS" set by configure # script, provide it here explicitly as patching those files would result # in higher line count. Ideally this bug should be fixed upstream. DNSTAP_CPPFLAGS= -I${LOCALBASE}/include FASTPARSER_DESC= Fast zone parser (demanding compilation) FASTPARSER_CONFIGURE_ENABLE= fastparser IDN_CONFIGURE_WITH= libidn IDN_LIB_DEPENDS= libidn2.so:dns/libidn2 MAXMINDDB_DESC= Enable MaxMind for geodb module MAXMINDDB_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb MAXMINDDB_CONFIGURE_ENABLE= maxminddb post-patch: .if !defined(UTILS_ONLY) && !defined(LIB_ONLY) @${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|' \ ${WRKSRC}/src/Makefile.in @${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|' \ ${WRKSRC}/src/Makefile.in @${RM} -r ${WRKSRC}/src/zscanner/scanner.c .endif post-install: .if !defined(UTILS_ONLY) && !defined(LIB_ONLY) ${MV} ${STAGEDIR}${ETCDIR}/knot.sample.conf \ ${STAGEDIR}${ETCDIR}/knot.conf.sample @${MKDIR} ${STAGEDIR}/var/run/knot ${STAGEDIR}/var/db/knot .endif @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/ .include Index: head/dns/knot2/distinfo =================================================================== --- head/dns/knot2/distinfo (revision 489773) +++ head/dns/knot2/distinfo (revision 489774) @@ -1,3 +1,3 @@ -TIMESTAMP = 1542114322 -SHA256 (knot-2.7.4.tar.xz) = acebe2fbcd8f67b0cb8969376114855316fe831df08321b795147502a5e9fd74 -SIZE (knot-2.7.4.tar.xz) = 1148652 +TIMESTAMP = 1546941720 +SHA256 (knot-2.7.5.tar.xz) = 7d70d6d8f708285517d1d7c4ff2e5ddfd119cd2962c7a8d3f50a4c695209a086 +SIZE (knot-2.7.5.tar.xz) = 1150904 Index: head/dns/knot2/files/knot.in =================================================================== --- head/dns/knot2/files/knot.in (revision 489773) +++ head/dns/knot2/files/knot.in (revision 489774) @@ -1,102 +1,118 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: knot # REQUIRE: SERVERS cleanvar # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable knot: # # knot_enable="YES": Set to NO by default. # Set it to YES to enable knot. # knot_config="": Set to %%PREFIX%%/etc/knot/knot.conf # by default. # # ----------------------------------------------------------------------------- # # This script supports running multiple instances of knot. # To run additional instances link this script to something like # % ln -s knot knot_foo # and define additional knot_foo_* variables in one of # /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/knot_foo # # Below NAME should be substituted with the name of this script. By default # it is knot, so read as knot_enable. If you linked the script to # knot_foo, then read as knot_foo_enable etc. # # The following variables are supported (defaults are shown). # You can place them in any of # /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/NAME # # NAME_enable="NO" # set to YES to enable knot # # # optional: # NAME_config="%%PREFIX%%/etc/knot/NAME.conf" # (-c)onfig file -# NAME_diruser="%%USERS%%" # /var/db/NAME and /var/run/NAME are created if they +# NAME_config="db:/var/db/knot/confdb" # (-C)onfig database +# NAME_diruser="%%USERS%%" # /var/db/NAME and /var/run/NAME are created if they # NAME_dirgroup="%%GROUPS%%" # don't exist. These don't control the user/group knot # # runs as, the config file has a setting for that. # # You also need to set the rundir directive in the server section of the # config file to /var/run/NAME (if using a NAME other than the default) # and you will want the storage directive(s) declared in the zone section # to point to /var/db/NAME overriding the default of /var/db/knot. # # For further documentation, please see knot.conf(5). . /etc/rc.subr case "$0" in /etc/rc*) # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), # so get the name of the script from $_file name="$_file" ;; *) name="$0" ;; esac name="${name##*/}" rcvar=${name}_enable load_rc_config ${name} eval ": \${${name}_enable:=\"NO\"}" eval ": \${${name}_diruser:=\"%%USERS%%\"}" eval ": \${${name}_dirgroup:=\"%%GROUPS%%\"}" eval ": \${${name}_config:=\"%%PREFIX%%/etc/knot/${name}.conf\"}" configfile="$(eval echo \${${name}_config})" diruser="$(eval echo \${${name}_diruser})" dirgroup="$(eval echo \${${name}_dirgroup})" command=%%PREFIX%%/sbin/knotd -command_args="-c ${configfile} -d" -control=%%PREFIX%%/sbin/knotc -pidfile=/var/run/${name}/knot.pid +case "$configfile" in +db:*) + config_args="-C ${configfile#db:}" + ;; +*) + config_args="-c ${configfile}" + ;; +esac +command_args="${config_args} -d" +control="%%PREFIX%%/sbin/knotc" +pidfile="/var/run/${name}/knot.pid" -required_files=${configfile} +case "$configfile" in +db:*) + required_files=${configfile#db:}/data.mdb + ;; +*) + required_files=${configfile} + ;; +esac extra_commands=reload reload_cmd="knot_reload" start_precmd="knot_prestart" knot_prestart() { if [ ! -d /var/run/${name} ]; then install -d -o ${diruser} -g ${dirgroup} /var/run/${name} fi if [ ! -d /var/db/${name} ]; then install -d -o ${diruser} -g ${dirgroup} /var/db/${name} fi - ${control} -c ${configfile} conf-check + ${control} ${config_args} conf-check } knot_reload() { echo "Reloading ${name}." - ${control} -c ${configfile} reload + ${control} ${config_args} reload } run_rc_command "$1"