1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-28 05:29:48 +00:00

Add knot2 beta, the next major release of the Knot DNS

high-performance authoritative-only DNS server

PR:		199868
Submitted by:	Leo Vandewoestijne <freebsd@dns-lab.com>
This commit is contained in:
Erwin Lansing 2015-05-18 11:33:11 +00:00
parent 21c81c1764
commit 61fb20e769
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=386671
7 changed files with 279 additions and 0 deletions

View File

@ -70,6 +70,7 @@
SUBDIR += ipcheck
SUBDIR += ironsides
SUBDIR += knot
SUBDIR += knot2
SUBDIR += ldapdns
SUBDIR += ldns
SUBDIR += ldnsm

73
dns/knot2/Makefile Normal file
View File

@ -0,0 +1,73 @@
# Created by: Leo Vandewoestijne <freebsd@dns-lab.com>
# $FreeBSD$
PORTNAME= knot
DISTVERSION= 2.0.0-beta
CATEGORIES= dns ipv6
MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \
http://dns-lab.com/downloads/knot-dns/
PKGNAMESUFFIX= 2
MAINTAINER= freebsd@dns-lab.com
COMMENT= High performance authoritative-only DNS server
LICENSE= GPLv3
LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls \
libjansson.so:${PORTSDIR}/devel/jansson \
liblmdb.so:${PORTSDIR}/databases/lmdb \
libnettle.so:${PORTSDIR}/security/nettle \
liburcu.so:${PORTSDIR}/sysutils/liburcu
CONFLICTS= knot-1.* knot1-[0-6].*
USES= alias libtool pkgconfig tar:xz
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-rundir=/var/run/knot \
--with-storage=/var/db/knot \
--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
.if defined(BATCH) || defined(PACKAGE_BUILDING)
CONFIGURE_ARGS+= --disable-silent-rules
.endif
INSTALL_TARGET= install-strip
USE_RC_SUBR= ${PORTNAME}
SUB_FILES= pkg-message
USERS= knot
GROUPS= knot
SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}"
PORTDOCS= AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS
OPTIONS_DEFINE= DNSTAP FASTPARSER IDN
DNSTAP_DESC= dnstap support (see dnstap.info)
DNSTAP_CONFIGURE_ENABLE= dnstap
DNSTAP_LIB_DEPENDS= libfstrm.so:${PORTSDIR}/devel/fstrm \
libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c
FASTPARSER_DESC= Fast zone parser (demanding compilation)
FASTPARSER_CONFIGURE_ENABLE= fastparser
IDN_CONFIGURE_WITH= libidn
IDN_LIB_DEPENDS= libidn.so:${PORTSDIR}/dns/libidn
post-patch:
@${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} -rf ${WRKSRC}/src/zscanner/scanner.c
post-install:
${MV} ${STAGEDIR}${ETCDIR}/knot.sample.conf \
${STAGEDIR}${ETCDIR}/knot.conf.sample
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
.include <bsd.port.mk>

2
dns/knot2/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (knot-2.0.0-beta.tar.xz) = 7ed997d15b523abcaede51d7ce3670a687d7658b96eb742b9dd87ac5d3e0e9af
SIZE (knot-2.0.0-beta.tar.xz) = 939468

54
dns/knot2/files/knot.in Normal file
View File

@ -0,0 +1,54 @@
#!/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 /usr/local/etc/knot/knot.conf
# by default.
. /etc/rc.subr
name=knot
rcvar=knot_enable
load_rc_config ${name}
: ${knot_enable:=NO}
: ${knot_config="%%PREFIX%%/etc/knot/knot.conf"}
command=%%PREFIX%%/sbin/knotd
command_args="-c ${knot_config} -d"
control=%%PREFIX%%/sbin/knotc
pidfile=/var/run/knot/knot.pid
required_files=${knot_config}
extra_commands=reload
reload_cmd="${name}_reload"
start_precmd="${name}_prestart"
knot_prestart()
{
if [ ! -d /var/run/knot ]; then
install -d -o %%USERS%% -g %%GROUPS%% /var/run/knot
fi
if [ ! -d /var/db/knot ]; then
install -d -o %%USERS%% -g %%GROUPS%% /var/db/knot
fi
${control} -c ${knot_config} checkconf
}
knot_reload()
{
echo "Reloading ${name}."
${control} -c ${knot_config} reload
}
run_rc_command "$1"

View File

@ -0,0 +1,17 @@
######################################################################
To start using Knot DNS, you should complete the following tasks:
cp %%ETCDIR%%/knot.conf.sample %%ETCDIR%%/knot.conf
$EDITOR %%ETCDIR%%/knot.conf
sysrc knot_enable=YES
sysrc knot_config=%%ETCDIR%%/knot.conf
service knot start
Traditional (pre-FreeBSD 9.2) method, for last three commands:
echo knot_enable=\"YES\" >> /etc/rc.conf
echo knot_config=\"%%PREFIX%%/etc/knot/knot.conf\" >> /etc/rc.conf
%%PREFIX%%/etc/rc.d/knot start
######################################################################

14
dns/knot2/pkg-descr Normal file
View File

@ -0,0 +1,14 @@
Knot DNS is a high-performance authoritative-only DNS server which
supports all key features of the domain name system including zone
AXFR and IXFR, DDNS and DNSSEC. Its key features:
* Open source
* High-performance, multi-threaded, and mostly lock-free
implementation which scales well on SMPs
* Object-oriented design
* Support for all important DNS protocols:
- Full and incremental zone transfers
- EDNS0 and DNSSEC extensions, including NSEC3
- NSID
WWW: http://www.knot-dns.cz/

118
dns/knot2/pkg-plist Normal file
View File

@ -0,0 +1,118 @@
%%ETCDIR%%/example.com.zone
@sample %%ETCDIR%%/knot.conf.sample
bin/kdig
bin/khost
bin/knot1to2
bin/knsec3hash
bin/knsupdate
include/dnssec/binary.h
include/dnssec/crypto.h
include/dnssec/error.h
include/dnssec/event.h
include/dnssec/kasp.h
include/dnssec/key.h
include/dnssec/keyid.h
include/dnssec/keystore.h
include/dnssec/keytag.h
include/dnssec/list.h
include/dnssec/nsec.h
include/dnssec/random.h
include/dnssec/sign.h
include/dnssec/tsig.h
include/libknot/binary.h
include/libknot/consts.h
include/libknot/descriptor.h
include/libknot/dname.h
include/libknot/dnssec/key.h
include/libknot/errcode.h
include/libknot/internal/array-sort.h
include/libknot/internal/base32hex.h
include/libknot/internal/base64.h
include/libknot/internal/binsearch.h
include/libknot/internal/consts.h
include/libknot/internal/endian.h
include/libknot/internal/errcode.h
include/libknot/internal/getline.h
include/libknot/internal/heap.h
include/libknot/internal/hhash.h
include/libknot/internal/lists.h
include/libknot/internal/macros.h
include/libknot/internal/mem.h
include/libknot/internal/mempattern.h
include/libknot/internal/mempool.h
include/libknot/internal/namedb/namedb.h
include/libknot/internal/namedb/namedb_lmdb.h
include/libknot/internal/namedb/namedb_trie.h
include/libknot/internal/net.h
include/libknot/internal/print.h
include/libknot/internal/sockaddr.h
include/libknot/internal/strlcat.h
include/libknot/internal/strlcpy.h
include/libknot/internal/tolower.h
include/libknot/internal/trie/hat-trie.h
include/libknot/internal/trie/murmurhash3.h
include/libknot/internal/utils.h
include/libknot/libknot.h
include/libknot/packet/compr.h
include/libknot/packet/pkt.h
include/libknot/packet/rrset-wire.h
include/libknot/packet/wire.h
include/libknot/processing/layer.h
include/libknot/processing/overlay.h
include/libknot/processing/requestor.h
include/libknot/rdata.h
include/libknot/rdataset.h
include/libknot/rrset-dump.h
include/libknot/rrset.h
include/libknot/rrtype/aaaa.h
include/libknot/rrtype/dnskey.h
include/libknot/rrtype/naptr.h
include/libknot/rrtype/nsec.h
include/libknot/rrtype/nsec3.h
include/libknot/rrtype/nsec3param.h
include/libknot/rrtype/opt.h
include/libknot/rrtype/rdname.h
include/libknot/rrtype/rrsig.h
include/libknot/rrtype/soa.h
include/libknot/rrtype/tsig.h
include/libknot/tsig-op.h
include/libknot/yparser/yparser.h
include/libknot/yparser/ypformat.h
include/libknot/yparser/ypscheme.h
include/libknot/yparser/yptrafo.h
lib/libdnssec.a
lib/libdnssec.so
lib/libdnssec.so.0
lib/libdnssec.so.0.0.0
lib/libknot-2.so.0
lib/libknot-2.so.0.0.0
lib/libknot-int-2.so.0
lib/libknot-int-2.so.0.0.0
lib/libknot-int.a
lib/libknot-int.so
lib/libknot-yparser-2.so.0
lib/libknot-yparser-2.so.0.0.0
lib/libknot-yparser.a
lib/libknot-yparser.so
lib/libknot.a
lib/libknot.so
lib/libzscanner.a
lib/libzscanner.so
lib/libzscanner.so.0
lib/libzscanner.so.0.0.0
libdata/pkgconfig/libdnssec.pc
libdata/pkgconfig/libknot-int.pc
libdata/pkgconfig/libknot-yparser.pc
libdata/pkgconfig/libknot.pc
man/man1/kdig.1.gz
man/man1/khost.1.gz
man/man1/knot1to2.1.gz
man/man1/knsec3hash.1.gz
man/man1/knsupdate.1.gz
man/man5/knot.conf.5.gz
man/man8/keymgr.8.gz
man/man8/knotc.8.gz
man/man8/knotd.8.gz
sbin/keymgr
sbin/knotc
sbin/knotd