View | Details | Raw Unified | Return to bug 244600 | Differences between
and this patch

Collapse All | Expand All

(-)dns/knot-resolver/Makefile (-41 / +71 lines)
Lines 3-8 Link Here
3
3
4
PORTNAME=	knot-resolver
4
PORTNAME=	knot-resolver
5
DISTVERSION=	5.1.1
5
DISTVERSION=	5.1.1
6
PORTREVISION=	1
6
CATEGORIES=	dns
7
CATEGORIES=	dns
7
MASTER_SITES=	https://secure.nic.cz/files/knot-resolver/ \
8
MASTER_SITES=	https://secure.nic.cz/files/knot-resolver/ \
8
		https://dns.company/downloads/knot-resolver/
9
		https://dns.company/downloads/knot-resolver/
Lines 13-37 Link Here
13
LICENSE=	GPLv3+
14
LICENSE=	GPLv3+
14
LICENSE_FILE=	${WRKSRC}/COPYING
15
LICENSE_FILE=	${WRKSRC}/COPYING
15
16
17
LIB_DEPENDS=	libknot.so:dns/knot2-lib \
18
		libdnssec.so:dns/knot2-lib \
19
		libzscanner.so:dns/knot2-lib \
20
		libgnutls.so:security/gnutls \
21
		liblmdb.so:databases/lmdb \
22
		libluajit-5.1.so:lang/luajit \
23
		libuv.so:devel/libuv
24
25
# fails:	libluajit-${LUA_VER}.so:lang/luajit \
26
16
BUILD_DEPENDS=	bash:shells/bash \
27
BUILD_DEPENDS=	bash:shells/bash \
17
		cmocka>=1.1.1:sysutils/cmocka \
28
		flake8:devel/py-flake8 \
18
		flake8:devel/py-flake8@${PY_FLAVOR} \
19
		luacheck:devel/lua-luacheck
29
		luacheck:devel/lua-luacheck
20
30
21
LIB_DEPENDS=	libgnutls.so:security/gnutls \
31
# fails:	flake8:devel/py-flake8@${PY_FLAVOR} \
22
		libknot.so:dns/knot2-lib \
23
		liblmdb.so:databases/lmdb \
24
		libluajit-5.1.so:lang/luajit-openresty \
25
		libuv.so:devel/libuv
26
32
27
USES=		compiler:c11 compiler:c++11-lang libedit libtool meson \
33
USES=		compiler:c11 compiler:c++11-lang libedit libtool \
28
		ncurses ninja pkgconfig python shebangfix tar:xz
34
		meson ncurses ninja pkgconfig shebangfix tar:xz
35
29
USE_CXXSTD=	c++11
36
USE_CXXSTD=	c++11
37
30
USE_LDCONFIG=	yes
38
USE_LDCONFIG=	yes
31
LDFLAGS+=	-L${LOCALBASE}/lib
39
LDFLAGS+=	-L${LOCALBASE}/lib
32
40
41
USE_RC_SUBR=	krescachegc kresd
42
33
SUB_FILES=	pkg-message
43
SUB_FILES=	pkg-message
34
44
45
KRESDUSER?=	kresd
46
KRESDGROUP?=	kresd
47
KRESDRUNDIR1=	/var/run/kresd
48
KRESDRUNDIR2=	/var/run/krescachegc
49
50
USERS=		${KRESDUSER}
51
GROUPS=		${KRESDGROUP}
52
53
PLIST_SUB=	KRESDUSER=${KRESDUSER} \
54
		KRESDGROUP=${KRESDGROUP} \
55
		KRESDRUNDIR1=${KRESDRUNDIR1} \
56
		KRESDRUNDIR2=${KRESDRUNDIR2}
57
35
SHEBANG_FILES=	scripts/bench.sh \
58
SHEBANG_FILES=	scripts/bench.sh \
36
		scripts/build-in-obs.sh \
59
		scripts/build-in-obs.sh \
37
		scripts/coverage_c_combine.sh \
60
		scripts/coverage_c_combine.sh \
Lines 60-113 Link Here
60
		-Dinstall_kresd_conf=enabled \
83
		-Dinstall_kresd_conf=enabled \
61
		-Dclient=enabled \
84
		-Dclient=enabled \
62
		-Dutils=enabled \
85
		-Dutils=enabled \
63
		-Dinstall_root_keys=enabled \
64
		-Dkeyfile_default=${ETCDIR}/root.keys \
86
		-Dkeyfile_default=${ETCDIR}/root.keys \
65
		-Dmanaged_ta=enabled \
87
		-Droot_hints=${ETCDIR}/root.hints
66
		-Droot_hints=${ETCDIR}/root.hints \
67
		-Dunit_tests=enabled
68
88
69
#		--libdir=${PREFIX}/lib
89
OPTIONS_DEFINE=		DOCS EXAMPLES DNSTAP ROOTKEYS TRUSTANCHOR TEST TESTUNIT TESTCONF TESTEXTRA
70
#		--pkg-config-path=${PREFIX}/libdata/pkgconfig
90
OPTIONS_DEFAULT=	DOCS EXAMPLES        ROOTKEYS TRUSTANCHOR TEST TESTUNIT
71
#		lmdb_CFLAGS=-I${PREFIX}/include lmdb_LIBS=-llmdb
72
#		-Dlmdb_CFLAGS=-I${PREFIX}/include \	# doesn't help
73
#		-Dlmdb_LIBS=-llmdb			# doesn't help
74
#		-Dconfig_tests=enabled \		# complains about missing cqueues lua package
75
#		-Dextra_tests=enabled \			# also requires -Dsendmmsg=disabled
76
91
77
OPTIONS_DEFINE=		DOCS DNSTAP DOXYGEN TRUSTANCHOR
78
OPTIONS_DEFAULT=	DOCS DNSTAP DOXYGEN
79
80
# docs/meson.build wants python2 or python3 - not -for example- python3.7
81
# So this currently is partially broken:
82
#DOCS_MESON_ON=			-Ddoc=enabled
83
84
DNSTAP_DESC=			dnstap support
92
DNSTAP_DESC=			dnstap support
85
DNSTAP_LIB_DEPENDS=		libprotobuf.so:devel/protobuf \
93
DNSTAP_LIB_DEPENDS=		libprotobuf.so:devel/protobuf \
86
				libprotobuf-c.so:devel/protobuf-c \
94
				libprotobuf-c.so:devel/protobuf-c \
87
				libfstrm.so:devel/fstrm
95
				libfstrm.so:devel/fstrm
88
DNSTAP_PLIST_FILES=		lib/knot-resolver/kres_modules/dnstap.so
89
DNSTAP_MESON_ON=		-Ddnstap=enabled
96
DNSTAP_MESON_ON=		-Ddnstap=enabled
90
DNSTAP_MESON_OFF=		-Ddnstap=disabled
97
DNSTAP_MESON_OFF=		-Ddnstap=disabled
98
DNSTAP_PLIST_FILES=		lib/knot-resolver/kres_modules/dnstap.so
91
99
92
DOXYGEN_IMPLIES=		DOCS
100
ROOTKEYS_DESC=			install root.keys
93
DOXYGEN_BUILD_DEPENDS=		doxygen:devel/doxygen \
101
ROOTKEYS_MESON_ON=		-Dinstall_root_keys=enabled
94
				${PY_SPHINX} \
102
ROOTKEYS_MESON_OFF=		-Dinstall_root_keys=disabled
95
				${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
103
ROOTKEYS_PLIST_FILES=		${ETCDIR}/root.keys
96
104
97
TRUSTANCHOR_DESC=		Trust anchor bootstrapping and stats
105
TEST_DESC=			Do tests
98
TRUSTANCHOR_USES=		lua
99
TRUSTANCHOR_BUILD_DEPENDS=	${LUA_PKGNAMEPREFIX}luasocket>=0:net/luasocket@${LUA_FLAVOR} \
100
				${LUA_PKGNAMEPREFIX}luasec>=0:security/luasec@${LUA_FLAVOR}
101
106
102
.include <bsd.port.options.mk>
107
TESTUNIT_DESC=			Do unit tests
108
TESTUNIT_MESON_ON=		-Dunit_tests=enabled
109
TESTUNIT_MESON_OFF=		-Dunit_tests=disabled
110
TESTUNIT_BUILD_DEPENDS=		cmocka>=1.1.1:sysutils/cmocka
103
111
104
USERS=		kresd
112
TESTCONF_DESC=			Do config tests
105
GROUPS=		${USERS}
113
TESTCONF_MESON_ON=		-Dconfig_tests=enabled
114
TESTCONF_MESON_OFF=		-Dconfig_tests=disabled
115
TESTCONF_BROKEN=		Lua cqueues package seems missing
106
116
117
TESTEXTRA_DESC=			Do extra tests
118
TESTEXTRA_MESON_ON=		-Dextra_tests=enabled \
119
				-Dsendmmsg=disabled
120
TESTEXTRA_MESON_OFF=		-Dextra_tests=disabled
121
TESTEXTRA_USES=			cmake
122
TESTEXTRA_BROKEN=		CMake Error: The source directory misses CMakeLists.txt
123
124
TRUSTANCHOR_DESC=		Trust anchor bootstrapping, management and stats
125
TRUSTANCHOR_MESON_ON=		-Dmanaged_ta=enabled
126
TRUSTANCHOR_MESON_OFF=		-Dmanaged_ta=disabled
127
128
.include <bsd.port.options.mk>
129
107
PORTDOCS=	AUTHORS COPYING CodingStyle NEWS README.md
130
PORTDOCS=	AUTHORS COPYING CodingStyle NEWS README.md
131
PORTEXAMPLES=	config.cluster config.docker config.internal config.isp \
132
		config.personal config.privacy config.splitview
108
133
109
STRIP_TARGETS=	sbin/kresd \
134
STRIP_TARGETS=	sbin/kres-cache-gc \
110
		sbin/kresc \
135
		sbin/kresc \
136
		sbin/kresd \
111
		lib/knot-resolver/ahocorasick.so \
137
		lib/knot-resolver/ahocorasick.so \
112
		lib/knot-resolver/kres_modules/bogus_log.so \
138
		lib/knot-resolver/kres_modules/bogus_log.so \
113
		lib/knot-resolver/kres_modules/dnstap.so \
139
		lib/knot-resolver/kres_modules/dnstap.so \
Lines 119-126 Link Here
119
145
120
pre-install-TEST-on: do-test
146
pre-install-TEST-on: do-test
121
147
148
pre-install:
149
	${MKDIR} ${STAGEDIR}${DOCSDIR}
150
	${MKDIR} ${STAGEDIR}/var/run/krescachegc
151
	${MKDIR} ${STAGEDIR}/var/run/kresd
152
122
post-install:
153
post-install:
123
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
124
	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
154
	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
125
.for STRIP_TGT in ${STRIP_TARGETS}
155
.for STRIP_TGT in ${STRIP_TARGETS}
126
	if [ -f ${STAGEDIR}${PREFIX}/${STRIP_TGT} ]; then \
156
	if [ -f ${STAGEDIR}${PREFIX}/${STRIP_TGT} ]; then \
(-)dns/knot-resolver/files/krescachegc.in (+39 lines)
Line 0 Link Here
1
#!/bin/sh
2
#
3
# $FreeBSD$
4
#
5
# PROVIDE: krescachegc
6
# REQUIRE: SERVERS cleanvar
7
# KEYWORD: shutdown
8
#
9
# Add the following lines to /etc/rc.conf to enable knot-resolver:
10
#
11
# krescachegc_enable="YES":	Set to YES to enable krescachegc.
12
#				Set to NO by default.
13
# krescachegc_millis="1000":	Set to garbage collect interval in milliseconds
14
#				Set to 1000 by default.
15
# krescachegc_rundir="":	Set to /var/run/krescachegc by default.
16
#
17
18
. /etc/rc.subr
19
20
name=krescachegc
21
rcvar=krescachegc_enable
22
23
load_rc_config ${name}
24
25
# set defaults
26
27
krescachegc_enable=${krescachegc_enable:-"NO"}
28
krescachegc_rundir=${krescachegc_rundir:-"/var/run/${name}"}
29
krescachegc_millis=${krescachegc_millis:-"1000"}
30
user=kresd
31
group=kresd
32
33
pidfile="${krescachegc_rundir}/${name}.pid"
34
procname="%%PREFIX%%/sbin/kres-cache-gc"
35
36
command=/usr/sbin/daemon
37
command_args="-c -f -r -P ${pidfile} -u ${user} -- ${procname} -c ${krescachegc_rundir} -d ${krescachegc_millis}"
38
39
run_rc_command "$1"
(-)dns/knot-resolver/files/kresd.in (+39 lines)
Line 0 Link Here
1
#!/bin/sh
2
#
3
# $FreeBSD$
4
#
5
# PROVIDE: kresd
6
# REQUIRE: NETWORKING
7
# BEFORE: SERVERS
8
# KEYWORD: shutdown
9
#
10
# Add the following lines to /etc/rc.conf to enable knot-resolver:
11
#
12
# kresd_enable="YES":	Set to YES to enable kresd.
13
#			Set to NO by default.
14
# kresd_config="":	Set to %%ETCDIR%%/kresd.conf
15
#			by default.
16
# kresd_rundir="":	Set to /var/run/kresd by default.
17
#
18
19
. /etc/rc.subr
20
21
name=kresd
22
rcvar=kresd_enable
23
24
load_rc_config ${name}
25
26
# set defaults
27
28
kresd_enable=${kresd_enable:-"NO"}
29
kresd_config=${kresd_config:-"%%ETCDIR%%/${name}.conf"}
30
kresd_rundir=${kresd_rundir:-"/var/run/${name}"}
31
32
pidfile="${kresd_rundir}/${name}.pid"
33
procname="%%PREFIX%%/sbin/${name}"
34
required_files="${kresd_config}"
35
36
command="/usr/sbin/daemon"
37
command_args="-c -f -S -r -P ${pidfile} -- ${procname} -c ${kresd_config} -n ${kresd_rundir}"
38
39
run_rc_command "$1"
(-)dns/knot-resolver/files/patch-meson.build (+11 lines)
Line 0 Link Here
1
--- meson.build.orig	2020-06-23 09:59:10 UTC
2
+++ meson.build
3
@@ -47,7 +47,7 @@ endif
4
 prefix = get_option('prefix')
5
 data_dir = join_paths(prefix, get_option('datadir'), 'knot-resolver')
6
 doc_dir = join_paths(prefix, get_option('datadir'), 'doc', 'knot-resolver')
7
-examples_dir = join_paths(doc_dir, 'examples')
8
+examples_dir = join_paths(prefix, get_option('datadir'), 'examples', 'knot-resolver')
9
 etc_dir = join_paths(prefix, get_option('sysconfdir'), 'knot-resolver')
10
 lib_dir = join_paths(prefix, get_option('libdir'), 'knot-resolver')
11
 modules_dir = join_paths(lib_dir, 'kres_modules')
(-)dns/knot-resolver/files/pkg-message.in (-4 / +1 lines)
Lines 6-16 Link Here
6
   - man kresd
6
   - man kresd
7
   - https://knot-resolver.readthedocs.io/
7
   - https://knot-resolver.readthedocs.io/
8
8
9
  To run as daemon see:
10
   - https://knot-resolver.readthedocs.io/en/latest/daemon.html
11
12
  If upgrading:
9
  If upgrading:
13
   - https://knot-resolver.readthedocs.io/en/stable/upgrading.html
10
   - https://knot-resolver.readthedocs.io/en/latest/upgrading.html
14
EOM
11
EOM
15
}
12
}
16
]
13
]
(-)dns/knot-resolver/pkg-descr (-2 / +8 lines)
Lines 1-4 Link Here
1
The Knot DNS Resolver is a caching full resolver implementation,
1
Knot Resolver is a caching DNS resolver scalable from huge resolver
2
including both a resolver library and a daemon.
2
farms down to home network routers.
3
Knot Resolver is a modern resolver implementation designed for
4
scalability, resiliency, and flexibility. Its design is
5
different from other resolvers: The core architecture is tiny and
6
efficient, and most of the rich features are implemented as
7
optional modules, which limits attack surface and improves
8
performance.
3
9
4
WWW: https://www.knot-resolver.cz/
10
WWW: https://www.knot-resolver.cz/
(-)dns/knot-resolver/pkg-plist (-9 / +4 lines)
Lines 1-7 Link Here
1
@sample %%ETCDIR%%/kresd.conf
1
%%ETCDIR%%/icann-ca.pem
2
%%ETCDIR%%/icann-ca.pem
2
%%ETCDIR%%/kresd.conf
3
%%ETCDIR%%/root.hints
3
%%ETCDIR%%/root.hints
4
%%ETCDIR%%/root.keys
5
include/libkres/api.h
4
include/libkres/api.h
6
include/libkres/array.h
5
include/libkres/array.h
7
include/libkres/cdb_api.h
6
include/libkres/cdb_api.h
Lines 91-100 Link Here
91
sbin/kres-cache-gc
90
sbin/kres-cache-gc
92
sbin/kresc
91
sbin/kresc
93
sbin/kresd
92
sbin/kresd
94
%%PORTDOCS%%%%DOCSDIR%%/examples/config.cluster
93
@dir(%%KRESDUSER%%,%%KRESDGROUP%%,0755) %%ETCDIR%%
95
%%PORTDOCS%%%%DOCSDIR%%/examples/config.docker
94
@dir(%%KRESDUSER%%,%%KRESDGROUP%%,0755) %%KRESDRUNDIR1%%
96
%%PORTDOCS%%%%DOCSDIR%%/examples/config.internal
95
@dir(%%KRESDUSER%%,%%KRESDGROUP%%,0755) %%KRESDRUNDIR2%%
97
%%PORTDOCS%%%%DOCSDIR%%/examples/config.isp
98
%%PORTDOCS%%%%DOCSDIR%%/examples/config.personal
99
%%PORTDOCS%%%%DOCSDIR%%/examples/config.privacy
100
%%PORTDOCS%%%%DOCSDIR%%/examples/config.splitview

Return to bug 244600