aboutsummaryrefslogtreecommitdiffstats
path: root/dns/knot1
diff options
context:
space:
mode:
authorerwin <erwin@FreeBSD.org>2015-08-07 16:09:28 +0800
committererwin <erwin@FreeBSD.org>2015-08-07 16:09:28 +0800
commit25a93d6f6166d7a99d4d47c732f92b334feffd2d (patch)
treeadfeb2206fb14e310a7f243c73c9fb645d56ea04 /dns/knot1
parentc6079bbc8b8ce8d079bb3df55ca7024923d2ef84 (diff)
downloadfreebsd-ports-gnome-25a93d6f6166d7a99d4d47c732f92b334feffd2d.tar.gz
freebsd-ports-gnome-25a93d6f6166d7a99d4d47c732f92b334feffd2d.tar.zst
freebsd-ports-gnome-25a93d6f6166d7a99d4d47c732f92b334feffd2d.zip
Move dns/knot to knot1 now knot2 no longer is in beta.
PR: 201257 Submitted by: Leo Vandewoestijne <freebsd@dns-lab.com> (maintainer) Sponsored by: DK Hostmaster A/S
Diffstat (limited to 'dns/knot1')
-rw-r--r--dns/knot1/Makefile74
-rw-r--r--dns/knot1/distinfo2
-rw-r--r--dns/knot1/files/knot.in58
-rw-r--r--dns/knot1/files/pkg-message.in17
-rw-r--r--dns/knot1/pkg-descr14
-rw-r--r--dns/knot1/pkg-plist21
6 files changed, 186 insertions, 0 deletions
diff --git a/dns/knot1/Makefile b/dns/knot1/Makefile
new file mode 100644
index 000000000000..5d54074ce84d
--- /dev/null
+++ b/dns/knot1/Makefile
@@ -0,0 +1,74 @@
+# Created by: Leo Vandewoestijne <freebsd@dns-lab.com>
+# $FreeBSD$
+
+PORTNAME= knot
+PORTVERSION= 1.6.4
+PORTREVISION= 2
+CATEGORIES= dns ipv6
+MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \
+ http://dns-lab.com/downloads/knot-dns/
+PKGNAMESUFFIX= 1
+
+MAINTAINER= freebsd@dns-lab.com
+COMMENT= High performance authoritative-only DNS server
+
+LICENSE= GPLv3
+
+BUILD_DEPENDS= flex>=2.5.35_1:${PORTSDIR}/textproc/flex
+LIB_DEPENDS= liburcu.so:${PORTSDIR}/sysutils/liburcu
+
+CONFLICTS= knot-2.* knot2-.*
+
+USES= alias bison libtool pkgconfig tar:xz
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-storage=/var/db/knot \
+ --with-rundir=/var/run/knot \
+ --with-openssl=${OPENSSLBASE}
+USE_LDCONFIG= yes
+USE_OPENSSL= yes
+WITH_OPENSSL_PORT= yes
+
+.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 IDN LMDB
+
+DNSTAP_DESC= dnstap support (see dnstap.info)
+LMDB_DESC= Enable LMDB backend
+
+DNSTAP_CONFIGURE_ENABLE= dnstap
+DNSTAP_LIB_DEPENDS= libfstrm.so:${PORTSDIR}/devel/fstrm \
+ libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c
+
+IDN_CONFIGURE_WITH= libidn
+IDN_LIB_DEPENDS= libidn.so:${PORTSDIR}/dns/libidn
+
+LMDB_CONFIGURE_ENABLE= lmdb
+LMDB_LIB_DEPENDS= liblmdb.so:${PORTSDIR}/databases/lmdb
+
+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>
diff --git a/dns/knot1/distinfo b/dns/knot1/distinfo
new file mode 100644
index 000000000000..b05715036fb4
--- /dev/null
+++ b/dns/knot1/distinfo
@@ -0,0 +1,2 @@
+SHA256 (knot-1.6.4.tar.xz) = 7d0809ad489bbbc3f7904687559ee750f3c1f3a7180fab238ba06fcedd00d8af
+SIZE (knot-1.6.4.tar.xz) = 786904
diff --git a/dns/knot1/files/knot.in b/dns/knot1/files/knot.in
new file mode 100644
index 000000000000..3ea4219a11af
--- /dev/null
+++ b/dns/knot1/files/knot.in
@@ -0,0 +1,58 @@
+#!/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
+ grep -v '#' ${knot_config} | grep -q -E 'knot.knot;|bind.bind;'
+ if [ $? -ne 0 ]; then
+ echo "Notice: not running as uid.gid knot.knot or bind.bind"
+ fi
+ ${control} -c ${knot_config} checkconf
+}
+
+knot_reload()
+{
+ echo "Reloading ${name}."
+ ${control} -c ${knot_config} reload
+}
+
+run_rc_command "$1"
diff --git a/dns/knot1/files/pkg-message.in b/dns/knot1/files/pkg-message.in
new file mode 100644
index 000000000000..35557a5d1898
--- /dev/null
+++ b/dns/knot1/files/pkg-message.in
@@ -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
+
+######################################################################
diff --git a/dns/knot1/pkg-descr b/dns/knot1/pkg-descr
new file mode 100644
index 000000000000..578048306912
--- /dev/null
+++ b/dns/knot1/pkg-descr
@@ -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/
diff --git a/dns/knot1/pkg-plist b/dns/knot1/pkg-plist
new file mode 100644
index 000000000000..bc04ffd7bb70
--- /dev/null
+++ b/dns/knot1/pkg-plist
@@ -0,0 +1,21 @@
+%%ETCDIR%%/example.com.zone
+@sample %%ETCDIR%%/knot.conf.sample
+bin/kdig
+bin/khost
+bin/knsec3hash
+bin/knsupdate
+lib/libknot.so
+lib/libknot.so.0
+lib/libknot.so.0.0.1
+lib/libzscanner.so
+lib/libzscanner.so.0
+lib/libzscanner.so.0.0.1
+man/man1/kdig.1.gz
+man/man1/khost.1.gz
+man/man1/knsec3hash.1.gz
+man/man1/knsupdate.1.gz
+man/man5/knot.conf.5.gz
+man/man8/knotc.8.gz
+man/man8/knotd.8.gz
+sbin/knotc
+sbin/knotd