1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-28 10:08:24 +00:00
freebsd-ports/dns/knot3/Makefile
Leo Vandewoestijne b4a7459e76 dns/knot3: upgrade to 3.3.6
Externalization of the port version to help keeping in sync with the upcoming
port dns/py-libknot to be introduced in PR #278280.

ChangeLog: https://www.knot-dns.cz/2024-06-12-version-336.html

Features:

 * knotd: configurable control socket backlog size (see 'control.backlog')
 * knotd: optional configuration of congruency of generated keytags (see
   'policy.keytag-modulo')
 * knotc: support for exporting configuration schema in JSON (see 'conf-export')
 * mod-dnstap: configuration of sink allows TCP address specification

Improvements:

 * knotd: last-signed serial is stored to KASP even if not a secondary zone
 * knotd: allowed catalog role member in a catalog template configuration
 * knotd: some references in a zone configuration can be set empty to override
   a template
 * knotd: allowed zone backup during a zone transaction
 * knotd: add remote TSIG key name to outgoing event logs
 * knotc: zone backup with '+keysonly' silently uses all defaults as 'off'
 * kxdpgun: host name can be used for target specification
 * libs: upgraded embedded libngtcp2 to 1.5.0
 * doc: various fixes and updates

Bugfixes:

 * knotd: reset TCP connection not removed from a connection pool
 * knotd: server wrongly tries to remove removed ZONEMD
 * knotd: failed to parse empty list from a textual configuration
 * knotd: blocking zone signing in combination with an open transaction causes a
   deadlock
 * knotd: missing RCU lock when sending NOTIFY
 * kdig: QNAME letter case isn't preserved if IDN is enabled
 * kdig: failed to parse empty QNAME (do not fill question section)
 * kxdpgun: floating point exception on SIGUSR1 #927
 * libknot: incorrect handling of regular QUIC tokens in incoming initials
 * python: failed to set an empty configuration value

PR:		279828
2024-06-21 18:17:48 +02:00

124 lines
3.3 KiB
Makefile

PORTNAME= knot
DISTVERSION= ${KNOT_VERSION}
CATEGORIES= dns
MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \
https://dns.company/downloads/knot-dns/
PKGNAMESUFFIX?= 3
MAINTAINER= freebsd@dns.company
COMMENT= High performance authoritative-only DNS server
WWW= https://www.knot-dns.cz/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= gsed:textproc/gsed
LIB_DEPENDS= libgnutls.so:security/gnutls \
liblmdb.so:databases/lmdb
USES= alias libtool localbase pkgconfig tar:xz
USE_LDCONFIG= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS= --enable-recvmmsg=no \
--mandir=${PREFIX}/share/man \
--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
.if !defined(UTILS_ONLY) && !defined(LIB_ONLY)
CONFIGURE_ARGS+= --with-rundir=/var/run/knot \
--with-storage=/var/db/knot
LIB_DEPENDS+= liburcu.so:sysutils/liburcu
USE_RC_SUBR= ${PORTNAME}
SUB_FILES= pkg-message
USES+= libedit
.endif
.if defined(UTILS_ONLY) || defined(LIB_ONLY)
CONFIGURE_ARGS+= --disable-daemon \
--disable-modules
.endif
.if defined(LIB_ONLY)
CONFIGURE_ARGS+= --disable-utilities
.endif
INSTALL_TARGET= install-strip
CONFLICTS= knot-1.* knot1-[0-6].* knot2-[0-9].*
BINARY_ALIAS= sed=${LOCALBASE}/bin/gsed
USERS= knot
GROUPS= knot
SUB_LIST+= GROUPS="${GROUPS}" \
USERS="${USERS}"
PORTDOCS= COPYING NEWS
OPTIONS_DEFINE= DNSTAP DOCS
.if !defined(LIB_ONLY)
OPTIONS_DEFINE+= DOH IDN
OPTIONS_DEFAULT+= DOH IDN
.endif
.if !defined(UTILS_ONLY) && !defined(LIB_ONLY)
OPTIONS_DEFINE+= FASTPARSER MAXMINDDB
.endif
DNSTAP_DESC= dnstap support (see dnstap.info)
DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \
libprotobuf-c.so:devel/protobuf-c
DNSTAP_CONFIGURE_ENABLE= dnstap
DNSTAP_CONFIGURE_WITH= module-dnstap=yes
# 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
DOCS_CONFIGURE_OFF= --disable-documentation
DOH_DESC= DoH support in kdig
DOH_LIB_DEPENDS= libnghttp2.so:www/libnghttp2
FASTPARSER_DESC= Fast zone parser (demanding compilation)
FASTPARSER_CONFIGURE_ENABLE= fastparser
IDN_LIB_DEPENDS= libidn2.so:dns/libidn2
IDN_CONFIGURE_OFF= --without-libidn
IDN_CONFIGURE_WITH= libidn
MAXMINDDB_DESC= Enable MaxMind for geodb module
MAXMINDDB_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
MAXMINDDB_CONFIGURE_ENABLE= maxminddb
.include <bsd.port.options.mk>
.if ${ARCH} == i386
USES+= autoreconf
.endif
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 "knotdns.mk"
.include <bsd.port.mk>