File PKGBUILD of Package knot

# 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=2.8.4
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}.orig.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

    # Don’t keep those empty dir, manage them with systemd-tmpfiles instead
    rmdir "${pkgdir}"/{var/{lib/{knot/,},},run/{knot/,}}

    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/arch/${pkgname}.tmpfiles.arch "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
    install -Dm644 distro/arch/${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
}