1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00

New port: dns/knot-resolver

The Knot DNS Resolver is a caching full resolver implementation,
including both a resolver library and a daemon.

WWW: https://www.knot-resolver.cz/

PR:		212215
Submitted by:	Leo Vandewoestijne <freebsd@dns-lab.com>
This commit is contained in:
Kurt Jaeger 2016-09-04 18:56:53 +00:00
parent 654dc28273
commit 23421e469d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=421347
13 changed files with 217 additions and 2 deletions

2
GIDs
View File

@ -493,7 +493,7 @@ ejabberd:*:543:
# free: 549
# free: 550
# free: 551
# free: 552
kresd:*:552:
knot:*:553:
qtss:*:554:
ircdru:*:555:

2
UIDs
View File

@ -498,7 +498,7 @@ ejabberd:*:543:543::0:0:ejabberd pseudo user:/var/spool/ejabberd:/bin/sh
# free: 549
# free: 550
# free: 551
# free: 552
kresd:*:552:552::0:0:Knot DNS Resolver:/nonexistent:/usr/sbin/nologin
knot:*:553:553::0:0:Knot DNS Server:/nonexistent:/usr/sbin/nologin
qtss:*:554:554::0:0:Darwin Streaming Server:/nonexistent:/usr/sbin/nologin
ircdru:*:555:555::0:0:Russian hybrid IRC server:/nonexistent:/bin/sh

View File

@ -78,6 +78,7 @@
SUBDIR += inadyn-mt
SUBDIR += ipcheck
SUBDIR += ironsides
SUBDIR += knot-resolver
SUBDIR += knot1
SUBDIR += knot2
SUBDIR += ldapdns

View File

@ -0,0 +1,63 @@
# Created by: Leo Vandewoestijne <freebsd@dns-lab.com>
# $FreeBSD$
PORTNAME= knot-resolver
PORTVERSION= 1.1.1
CATEGORIES= dns ipv6
MASTER_SITES= https://secure.nic.cz/files/knot-resolver/ \
https://dns.company/downloads/knot-resolver/
MAINTAINER= freebsd@dns-lab.com
COMMENT= Caching full resolver implementation
LICENSE= GPLv3
LIB_DEPENDS= libknot.so:dns/knot2 \
liblmdb.so:databases/lmdb \
libluajit-5.1.so:lang/luajit \
libuv.so:devel/libuv \
libgnutls.so:security/gnutls \
libnettle.so:security/nettle
CONFLICTS= knot-1.* knot1-[0-6].*
BROKEN_FreeBSD_9= does not build, see PR#212215 for build failures
MAKE_ARGS+= PREFIX=${PREFIX}
MAKE_ARGS+= LIBDIR=${PREFIX}/lib
MAKE_ARGS+= PKG_CONFIG_PATH=${LOCALBASE}/libdata/pkgconfig
MAKE_ARGS+= lmdb_CFLAGS=-I${LOCALBASE}/include lmdb_LIBS=-llmdb
USES= gmake libtool pkgconfig tar:xz
USE_CSTD= c99
USE_LDCONFIG= ${PREFIX}/lib
OPTIONS_DEFINE= DOXYGEN MEMCACHED REDIS
OPTIONS_DEFAULT=
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
DOXYGEN_MAKE_ARGS= HAS_doxygen=yes
DOXYGEN_MAKE_ARGS_OFF= HAS_doxygen=no
MEMCACHED_DESC= memcached in-memory data-backend
MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached
MEMCACHED_MAKE_ARGS= HAS_libmemcached=yes
MEMCACHED_MAKE_ARGS_OFF= HAS_libmemcached=no
MEMCACHED_PLIST_FILES= lib/kdns_modules/kmemcached.so
REDIS_DESC= redis in-memory data-backend
REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
REDIS_MAKE_ARGS= HAS_hiredis=yes
REDIS_MAKE_ARGS_OFF= HAS_hiredis=no
REDIS_PLIST_FILES= lib/kdns_modules/redis.so
USERS= kresd
GROUPS= kresd
SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}"
SUB_FILES= pkg-message
PORTDOCS= AUTHORS COPYING CodingStyle README.md
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1472151881
SHA256 (knot-resolver-1.1.1.tar.xz) = f848f6dd2c7a2c1a5067d3bd95dacb752d1f3d8dc9d5ccc0c34a4540d00ab54a
SIZE (knot-resolver-1.1.1.tar.xz) = 661612

View File

@ -0,0 +1,13 @@
--- daemon/daemon.mk.orig 2016-08-24 12:05:47 UTC
+++ daemon/daemon.mk
@@ -46,8 +46,8 @@ daemon: $(kresd)
daemon-install: kresd-install bindings-install
ifneq ($(SED),)
$(SED) -e "s/@VERSION@/$(MAJOR).$(MINOR).$(PATCH)/" -e "s/@DATE@/$(date)/" doc/kresd.8.in > doc/kresd.8
- $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man8/
- $(INSTALL) -m 0644 doc/kresd.8 $(DESTDIR)$(PREFIX)/share/man/man8/
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/man/man8/
+ $(INSTALL) -m 0644 doc/kresd.8 $(DESTDIR)$(PREFIX)/man/man8/
endif
daemon-clean: kresd-clean
@$(RM) daemon/lua/*.inc

View File

@ -0,0 +1,13 @@
--- lib/lib.mk.orig 2016-08-24 12:05:47 UTC
+++ lib/lib.mk
@@ -83,8 +83,8 @@ libkres.pc:
@echo 'Libs: -L$${libdir} -lkres' >> $@
@echo 'Cflags: -I$${includedir}' >> $@
libkres-pcinstall: libkres.pc libkres-install
- $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/pkgconfig/
- $(INSTALL) -m 644 $< $(DESTDIR)$(LIBDIR)/pkgconfig/
+ $(INSTALL) -d -m 755 $(DESTDIR)$(PKG_CONFIG_PATH)/
+ $(INSTALL) -m 644 $< $(DESTDIR)$(PKG_CONFIG_PATH)/
# Targets
lib: $(libkres)

View File

@ -0,0 +1,10 @@
--- lib/nsrep.h.orig 2016-08-24 12:05:47 UTC
+++ lib/nsrep.h
@@ -19,6 +19,7 @@
#include <netinet/in.h>
#include <libknot/dname.h>
#include <limits.h>
+#include <sys/socket.h>
#include "lib/defines.h"
#include "lib/generic/map.h"

View File

@ -0,0 +1,10 @@
--- lib/resolve.h.orig 2016-08-24 12:05:47 UTC
+++ lib/resolve.h
@@ -18,6 +18,7 @@
#include <netinet/in.h>
#include <libknot/packet/pkt.h>
+#include <sys/socket.h>
#include "lib/cookies/control.h"
#include "lib/cookies/lru_cache.h"

View File

@ -0,0 +1,10 @@
--- platform.mk.orig 2016-08-24 12:05:47 UTC
+++ platform.mk
@@ -49,7 +49,6 @@ else
BINFLAGS += -pie
LDFLAGS += -Wl,-z,relro,-z,now
endif
- LDFLAGS += -ldl
endif
endif

View File

@ -0,0 +1,10 @@
######################################################################
Please consult the documentation:
- man kresd
- http://knot-resolver.readthedocs.io/en/latest/
To run as daemon see:
- http://knot-resolver.readthedocs.io/en/latest/daemon.html
######################################################################

View File

@ -0,0 +1,4 @@
The Knot DNS Resolver is a caching full resolver implementation,
including both a resolver library and a daemon.
WWW: https://www.knot-resolver.cz/

View File

@ -0,0 +1,78 @@
etc/kresd/config.cluster
etc/kresd/config.isp
etc/kresd/config.personal
etc/kresd/config.splitview
etc/kresd/icann-ca.pem
include/libkres/alg_containers.h
include/libkres/alg_sha.h
include/libkres/array.h
include/libkres/cache.h
include/libkres/cdb.h
include/libkres/cdb_lmdb.h
include/libkres/control.h
include/libkres/dnssec.h
include/libkres/helper.h
include/libkres/layer.h
include/libkres/lru_cache.h
include/libkres/map.h
include/libkres/module.h
include/libkres/nonce.h
include/libkres/nsec.h
include/libkres/nsec3.h
include/libkres/nsrep.h
include/libkres/resolve.h
include/libkres/rplan.h
include/libkres/set.h
include/libkres/signature.h
include/libkres/ta.h
include/libkres/utils.h
include/libkres/zonecut.h
lib/kdns_modules/aho-corasick.lua
lib/kdns_modules/cookies.so
lib/kdns_modules/daf.lua
lib/kdns_modules/daf/daf.js
lib/kdns_modules/dns64.lua
lib/kdns_modules/graphite.lua
lib/kdns_modules/hints.so
lib/kdns_modules/http.lua
lib/kdns_modules/http/LICENSE
lib/kdns_modules/http/bootstrap-theme.min.css
lib/kdns_modules/http/bootstrap.min.css
lib/kdns_modules/http/bootstrap.min.js
lib/kdns_modules/http/d3.js
lib/kdns_modules/http/datamaps.world.min.js
lib/kdns_modules/http/dygraph-combined.js
lib/kdns_modules/http/epoch.css
lib/kdns_modules/http/epoch.js
lib/kdns_modules/http/favicon.ico
lib/kdns_modules/http/glyphicons-halflings-regular.woff2
lib/kdns_modules/http/h2_connection.lua
lib/kdns_modules/http/h2_stream.lua
lib/kdns_modules/http/jquery.js
lib/kdns_modules/http/kresd.css
lib/kdns_modules/http/kresd.js
lib/kdns_modules/http/main.tpl
lib/kdns_modules/http/selectize.bootstrap3.min.css
lib/kdns_modules/http/selectize.min.css
lib/kdns_modules/http/selectize.min.js
lib/kdns_modules/http/server.lua
lib/kdns_modules/http/topojson.js
lib/kdns_modules/ketcd.lua
lib/kdns_modules/kres.lua
lib/kdns_modules/policy.lua
lib/kdns_modules/predict.lua
lib/kdns_modules/prometheus.lua
lib/kdns_modules/renumber.lua
lib/kdns_modules/stats.so
lib/kdns_modules/trust_anchors.lua
lib/kdns_modules/view.lua
lib/kdns_modules/zonefile.lua
lib/libkres.so
lib/libkres.so.1
libdata/pkgconfig/libkres.pc
man/man8/kresd.8.gz
sbin/kresd
@dir lib/kdns_modules/daf
@dir lib/kdns_modules/http
@dir lib/kdns_modules
@dir libdata/pkgconfig