summaryrefslogtreecommitdiffstats
path: root/distro/pkg/arch/PKGBUILD
blob: 16f1259b51976b4d408a68210afb188fc981a065 (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
# Maintainer: Tomas Krizek <tomas.krizek@nic.cz>
# Maintainer: Bruno Pagani <archange@archlinux.org>
# Contributor: Ondřej Surý <ondrej@sury.org>
# Contributor: Julian Brost <julian@0x4a42.net>
# Contributor: Oleander Reis <oleander@oleander.cc>
# Contributor: Otto Sabart <seberm[at]gmail[dot]com>

pkgname=knot
pkgver={{ version }}
pkgrel=1
pkgdesc="High-performance authoritative-only DNS server"
arch=('x86_64')
url="https://www.knot-dns.cz/"
license=('GPL3')
depends=('fstrm'
         'gnutls'
         'libcap-ng'
         'libedit'
         'libidn2'
         'libmaxminddb'
         'liburcu'
         'lmdb'
         'protobuf-c'
         'systemd')
backup=('etc/knot/knot.conf')
source=("${pkgname}-${pkgver}.tar.xz")
sha256sums=('SKIP')
validpgpkeys=('742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB') # Daniel Salzman <daniel.salzman@nic.cz>

build() {
    cd ${pkgname}-${pkgver}

    ./configure \
        --prefix=/usr \
        --sbindir=/usr/bin \
        --sysconfdir=/etc \
        --localstatedir=/var/lib \
        --libexecdir=/usr/lib/knot \
        --with-rundir=/run/knot \
        --with-storage=/var/lib/knot \
        --enable-recvmmsg \
        --enable-dnstap \
        --enable-systemd \
        --enable-reuseport \
        --disable-silent-rules \
        --disable-static

    make
}

check() {
    cd ${pkgname}-${pkgver}
    make check
}

package() {
    cd ${pkgname}-${pkgver}

    make DESTDIR="${pkgdir}" install

    rm "${pkgdir}"/etc/knot/example.com.zone
    mv "${pkgdir}"/etc/knot/{knot.sample.conf,knot.conf}

    install -Dm644 distro/common/${pkgname}.service -t "${pkgdir}"/usr/lib/systemd/system/
    install -Dm644 distro/pkg/arch/${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
}