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

Collapse All | Expand All

(-)Makefile (-47 / +75 lines)
Lines 2-8 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	knot-resolver
4
PORTNAME=	knot-resolver
5
DISTVERSION=	5.1.1
5
DISTVERSION=	5.1.2
6
CATEGORIES=	dns
6
CATEGORIES=	dns
7
MASTER_SITES=	https://secure.nic.cz/files/knot-resolver/ \
7
MASTER_SITES=	https://secure.nic.cz/files/knot-resolver/ \
8
		https://dns.company/downloads/knot-resolver/
8
		https://dns.company/downloads/knot-resolver/
Lines 13-37 Link Here
13
LICENSE=	GPLv3+
13
LICENSE=	GPLv3+
14
LICENSE_FILE=	${WRKSRC}/COPYING
14
LICENSE_FILE=	${WRKSRC}/COPYING
15
15
16
BUILD_DEPENDS=	bash:shells/bash \
16
LIB_DEPENDS=	libknot.so:dns/knot2-lib \
17
		cmocka>=1.1.1:sysutils/cmocka \
17
		libdnssec.so:dns/knot2-lib \
18
		flake8:devel/py-flake8@${PY_FLAVOR} \
18
		libzscanner.so:dns/knot2-lib \
19
		luacheck:devel/lua-luacheck
19
		libgnutls.so:security/gnutls \
20
21
LIB_DEPENDS=	libgnutls.so:security/gnutls \
22
		libknot.so:dns/knot2-lib \
23
		liblmdb.so:databases/lmdb \
20
		liblmdb.so:databases/lmdb \
24
		libluajit-5.1.so:lang/luajit-openresty \
21
		libluajit-5.1.so:lang/luajit-openresty \
25
		libuv.so:devel/libuv
22
		libuv.so:devel/libuv
26
23
27
USES=		compiler:c11 compiler:c++11-lang libedit libtool meson \
24
BUILD_DEPENDS=	bash:shells/bash \
28
		ncurses ninja pkgconfig python shebangfix tar:xz
25
		flake8:devel/py-flake8@${PY_FLAVOR} \
26
		luacheck:devel/lua-luacheck \
27
		cmake:devel/cmake
28
29
USES=		compiler:c11 compiler:c++11-lang libedit libtool \
30
		lua:51+ meson ncurses ninja pkgconfig python:3.5+,build \
31
		shebangfix tar:xz
32
29
USE_CXXSTD=	c++11
33
USE_CXXSTD=	c++11
34
30
USE_LDCONFIG=	yes
35
USE_LDCONFIG=	yes
31
LDFLAGS+=	-L${LOCALBASE}/lib
36
LDFLAGS+=	-L${LOCALBASE}/lib
32
37
38
USE_RC_SUBR=	krescachegc kresd
39
33
SUB_FILES=	pkg-message
40
SUB_FILES=	pkg-message
34
41
42
USERS=		kresd
43
GROUPS=		kresd
44
RUNDIR=		/var/run/kresd
45
46
PLIST_SUB=	USERS=${USERS} \
47
		GROUPS=${GROUPS} \
48
		RUNDIR=${RUNDIR}
49
50
SUB_LIST=	USERS=${USERS} \
51
		GROUPS=${GROUPS} \
52
		RUNDIR=${RUNDIR}
53
35
SHEBANG_FILES=	scripts/bench.sh \
54
SHEBANG_FILES=	scripts/bench.sh \
36
		scripts/build-in-obs.sh \
55
		scripts/build-in-obs.sh \
37
		scripts/coverage_c_combine.sh \
56
		scripts/coverage_c_combine.sh \
Lines 54-59 Link Here
54
73
55
MESON_ARGS=	--buildtype=release \
74
MESON_ARGS=	--buildtype=release \
56
		--default-library=static \
75
		--default-library=static \
76
		--libdir=${PREFIX}/lib \
77
		--pkg-config-path=${PREFIX}/libdata/pkgconfig \
57
		--prefix=${LOCALBASE} \
78
		--prefix=${LOCALBASE} \
58
		-Duser=${USERS} \
79
		-Duser=${USERS} \
59
		-Dgroup=${GROUPS} \
80
		-Dgroup=${GROUPS} \
Lines 60-113 Link Here
60
		-Dinstall_kresd_conf=enabled \
81
		-Dinstall_kresd_conf=enabled \
61
		-Dclient=enabled \
82
		-Dclient=enabled \
62
		-Dutils=enabled \
83
		-Dutils=enabled \
63
		-Dinstall_root_keys=enabled \
64
		-Dkeyfile_default=${ETCDIR}/root.keys \
84
		-Dkeyfile_default=${ETCDIR}/root.keys \
65
		-Dmanaged_ta=enabled \
85
		-Droot_hints=${ETCDIR}/root.hints
66
		-Droot_hints=${ETCDIR}/root.hints \
67
		-Dunit_tests=enabled
68
86
69
#		--libdir=${PREFIX}/lib
87
OPTIONS_DEFINE=		DOCS EXAMPLES DNSTAP ROOTKEYS TRUSTANCHOR TEST TESTUNIT TESTCONF TESTEXTRA
70
#		--pkg-config-path=${PREFIX}/libdata/pkgconfig
88
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
89
77
OPTIONS_DEFINE=		DOCS DNSTAP DOXYGEN TRUSTANCHOR
90
DNSTAP_DESC=		dnstap support
78
OPTIONS_DEFAULT=	DOCS DNSTAP DOXYGEN
91
DNSTAP_LIB_DEPENDS=	libprotobuf.so:devel/protobuf \
92
			libprotobuf-c.so:devel/protobuf-c \
93
			libfstrm.so:devel/fstrm
94
DNSTAP_MESON_ON=	-Ddnstap=enabled
95
DNSTAP_MESON_OFF=	-Ddnstap=disabled
96
DNSTAP_PLIST_FILES=	lib/knot-resolver/kres_modules/dnstap.so
79
97
80
# docs/meson.build wants python2 or python3 - not -for example- python3.7
98
ROOTKEYS_DESC=		install root.keys
81
# So this currently is partially broken:
99
ROOTKEYS_MESON_ON=	-Dinstall_root_keys=enabled
82
#DOCS_MESON_ON=			-Ddoc=enabled
100
ROOTKEYS_MESON_OFF=	-Dinstall_root_keys=disabled
101
ROOTKEYS_PLIST_FILES=	${ETCDIR}/root.keys
83
102
84
DNSTAP_DESC=			dnstap support
103
TEST_DESC=		Do tests
85
DNSTAP_LIB_DEPENDS=		libprotobuf.so:devel/protobuf \
86
				libprotobuf-c.so:devel/protobuf-c \
87
				libfstrm.so:devel/fstrm
88
DNSTAP_PLIST_FILES=		lib/knot-resolver/kres_modules/dnstap.so
89
DNSTAP_MESON_ON=		-Ddnstap=enabled
90
DNSTAP_MESON_OFF=		-Ddnstap=disabled
91
104
92
DOXYGEN_IMPLIES=		DOCS
105
TESTUNIT_DESC=		Do unit tests
93
DOXYGEN_BUILD_DEPENDS=		doxygen:devel/doxygen \
106
TESTUNIT_MESON_ON=	-Dunit_tests=enabled
94
				${PY_SPHINX} \
107
TESTUNIT_MESON_OFF=	-Dunit_tests=disabled
95
				${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
108
TESTUNIT_BUILD_DEPENDS=	cmocka>=1.1.1:sysutils/cmocka
96
109
97
TRUSTANCHOR_DESC=		Trust anchor bootstrapping and stats
110
TESTCONF_DESC=		Do config tests
98
TRUSTANCHOR_USES=		lua
111
TESTCONF_MESON_ON=	-Dconfig_tests=enabled
99
TRUSTANCHOR_BUILD_DEPENDS=	${LUA_PKGNAMEPREFIX}luasocket>=0:net/luasocket@${LUA_FLAVOR} \
112
TESTCONF_MESON_OFF=	-Dconfig_tests=disabled
100
				${LUA_PKGNAMEPREFIX}luasec>=0:security/luasec@${LUA_FLAVOR}
113
TESTCONF_BROKEN=	Lua cqueues package seems missing
101
114
115
TESTEXTRA_DESC=		Do extra tests
116
TESTEXTRA_MESON_ON=	-Dextra_tests=enabled \
117
			-Dsendmmsg=disabled
118
TESTEXTRA_MESON_OFF=	-Dextra_tests=disabled
119
TESTEXTRA_USES=		cmake python:3
120
TESTEXTRA_BUILD_DEPENDS=git:devel/git
121
TESTEXTRA_BROKEN=	CMake Error: The source directory misses CMakeLists.txt
122
123
TRUSTANCHOR_DESC=	Trust anchor bootstrapping, management and stats
124
TRUSTANCHOR_MESON_ON=	-Dmanaged_ta=enabled
125
TRUSTANCHOR_MESON_OFF=	-Dmanaged_ta=disabled
126
102
.include <bsd.port.options.mk>
127
.include <bsd.port.options.mk>
103
128
104
USERS=		kresd
105
GROUPS=		${USERS}
106
107
PORTDOCS=	AUTHORS COPYING CodingStyle NEWS README.md
129
PORTDOCS=	AUTHORS COPYING CodingStyle NEWS README.md
130
PORTEXAMPLES=	config.cluster config.docker config.internal config.isp \
131
		config.personal config.privacy config.splitview
108
132
109
STRIP_TARGETS=	sbin/kresd \
133
STRIP_TARGETS=	sbin/kres-cache-gc \
110
		sbin/kresc \
134
		sbin/kresc \
135
		sbin/kresd \
111
		lib/knot-resolver/ahocorasick.so \
136
		lib/knot-resolver/ahocorasick.so \
112
		lib/knot-resolver/kres_modules/bogus_log.so \
137
		lib/knot-resolver/kres_modules/bogus_log.so \
113
		lib/knot-resolver/kres_modules/dnstap.so \
138
		lib/knot-resolver/kres_modules/dnstap.so \
Lines 119-130 Link Here
119
144
120
pre-install-TEST-on: do-test
145
pre-install-TEST-on: do-test
121
146
147
pre-install:
148
	${MKDIR} ${STAGEDIR}${DOCSDIR}
149
	${MKDIR} ${STAGEDIR}${RUNDIR}
150
122
post-install:
151
post-install:
123
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
124
	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
152
	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
125
.for STRIP_TGT in ${STRIP_TARGETS}
153
.for STRIP_TGT in ${STRIP_TARGETS}
126
	if [ -f ${STAGEDIR}${PREFIX}/${STRIP_TGT} ]; then \
154
	if [ -f ${STAGEDIR}${PREFIX}/${STRIP_TGT} ]; then \
127
	    ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${STRIP_TGT}; \
155
	  ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${STRIP_TGT}; \
128
	fi
156
	fi
129
.endfor
157
.endfor
130
158
(-)distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1589914626
1
TIMESTAMP = 1593645886
2
SHA256 (knot-resolver-5.1.1.tar.xz) = f72214046df8aae2b1a5c6d1ad0bc8b166aa060df5b008f6e88b4f6ba79cbf4e
2
SHA256 (knot-resolver-5.1.2.tar.xz) = caa4f941caf39080184554fb1310f383eba4b30d9c4c2215670d6b0a2de8f836
3
SIZE (knot-resolver-5.1.1.tar.xz) = 1744544
3
SIZE (knot-resolver-5.1.2.tar.xz) = 1749236
(-)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
]
(-)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/
(-)pkg-plist (-9 / +3 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) %%RUNDIR%%
96
%%PORTDOCS%%%%DOCSDIR%%/examples/config.internal
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 247699