blob: 5f1e5a69e28b82716fb8b2947b2e2c7965bc2c96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: tcely <knot-resolver+aports@tcely.33mail.com>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=knot-resolver
pkgver=4.3.0
pkgrel=4
pkgdesc="Minimalistic caching DNS resolver implementation"
url="https://www.knot-resolver.cz/"
arch="all !s390x" # limited by luajit
license="GPL-3.0"
pkgusers="kresd"
pkggroups="kresd"
depends="dns-root-hints dnssec-root lua5.1-sec lua5.1-socket"
_depends_dnstap="$pkgname=$pkgver-r$pkgrel"
_depends_http="$pkgname=$pkgver-r$pkgrel lua5.1-cqueues lua5.1-http lua5.1-mmdb"
_depends_dnstap_dev="fstrm-dev protobuf-dev protobuf-c-dev"
depends_dev="
knot-dev>=2.8.0
libedit-dev
libuv-dev>=1.7
luajit-dev>=2.0
$_depends_dnstap_dev
"
depends_static="$pkgname-dev"
makedepends="
$depends_dev
bash
cmake
gnutls-dev
libcap-ng-dev
lmdb-dev
luacheck
meson>=0.46
ninja
pkgconf
py3-flake8
"
checkdepends="cmocka-dev"
install="$pkgname.pre-install"
subpackages="
$pkgname-mod-http:http:noarch
$pkgname-mod-dnstap:dnstap
$pkgname-libs-static
$pkgname-dev
$pkgname-dbg
$pkgname-doc
$pkgname-openrc
"
source="https://secure.nic.cz/files/$pkgname/$pkgname-$pkgver.tar.xz
$pkgname.logrotate
$pkgname.confd
$pkgname.initd
kres-cache-gc.initd
kres-cache-gc.confd
"
builddir="$srcdir/$pkgname-$pkgver"
# secfixes:
# 4.3.0-r0:
# - CVE-2019-19331
# 4.1.0-r0:
# - CVE-2019-10190
# - CVE-2019-10191
# 2.3.0-r0:
# - CVE-2018-1110
build() {
# strict-aliasing breaks stats module - variable "sa" in stats.c:495 is 0x0.
# (https://gitlab.labs.nic.cz/knot/knot-resolver/blob/v4.2.2/modules/stats/stats.c#L495)
export CFLAGS="$CFLAGS -fno-strict-aliasing"
meson build \
--prefix=/usr \
--buildtype=plain \
--default-library=both \
-Dclient=enabled \
-Dgroup="$pkggroups" \
-Dinstall_kresd_conf=enabled \
-Dunit_tests=enabled \
-Duser="$pkgusers" \
-Droot_hints=/usr/share/dns-root-hints/named.root \
-Dmanaged_ta=disabled \
-Dkeyfile_default=/usr/share/dnssec-root/trusted-key.key
ninja -C build
}
check() {
meson test -C build
}
package() {
DESTDIR="$pkgdir" ninja -C build install
cd "$pkgdir"
install -m 755 -D "$srcdir"/$pkgname.initd ./etc/init.d/$pkgname
install -m 644 -D "$srcdir"/$pkgname.confd ./etc/conf.d/$pkgname
install -m 755 -D "$srcdir"/kres-cache-gc.initd ./etc/init.d/kres-cache-gc
install -m 644 -D "$srcdir"/kres-cache-gc.confd ./etc/conf.d/kres-cache-gc
install -m 644 -D "$srcdir"/$pkgname.logrotate ./etc/logrotate.d/$pkgname
install -d -m 750 -o kresd -g kresd ./var/cache/knot-resolver
}
http() {
pkgdesc="Knot Resolver - HTTP/2 services"
depends="$_depends_http"
local moddir="usr/lib/$pkgname/kres_modules"
mkdir -p "$subpkgdir"/$moddir
mv "$pkgdir"/$moddir/http* "$subpkgdir"/$moddir/
}
dnstap() {
pkgdesc="Knot Resolver - dnstap logging"
depends="$_depends_dnstap"
local moddir="usr/lib/$pkgname/kres_modules"
mkdir -p "$subpkgdir"/$moddir
mv "$pkgdir"/$moddir/dnstap.so "$subpkgdir"/$moddir/
}
gpg_signature_extensions="asc"
gpgfingerprints="
good:BE26 EBB9 CBE0 59B3 910C A35B CE8D D6A1 A50A 21E4
good:4A8B A48C 2AED 933B D495 C509 A1FB A5F7 EF8C 4869
B600 6460 B60A 80E7 8206 2449 E747 DF1F 9575 A3AA
"
sha512sums="cb59b8bd3d12feeba0fbf45e021c8cd7736393377aa6c71d2d365d0ebb58122c440df3187ed4d3396dacfa5aba4bb752826b9d9da02aea4b626fcba3767c7c47 knot-resolver-4.3.0.tar.xz
688aeacb0c1f21c7e532533b402e67068897217713fb668636df7533000b493981ddfa0497f8dba7da7c804ee4ab8d587a4f52155b4e2bf1f4025d2588d314bb knot-resolver.logrotate
653bf15f07047ec72913f571bc283c76adc6bc5444c1d01524ec79fc891ec7e4022bee267ef8e83f03fd8dbccb6d5e73530acfd3987cb5571cab4c402741d189 knot-resolver.confd
6177a1a1141c5f57f5eca119afec85ed656b26f08d3da4786663c3a5f3074622e4af684df202ce8a863141d0b2008f91d8d0db53da9a616cfdcd5e2ae0fa9b5f knot-resolver.initd
569cbe40de039b86ffc55a1633029517cda8bd26fc4e3b267796160c40b0647c2abc0eab8090e95659ce3c143f73e2c997f5c10d5b0f47c73079d622b211d3d7 kres-cache-gc.initd
be54a2b1e6031262f8aeed050a6e31fe8fea8c937fa5bc0c3b3ff67c7577fa8ba2bfd5a711f6499eb0668522b0b268c707a9fa0035292d0f9c040b96587ffcaf kres-cache-gc.confd"
|