diff options
Diffstat (limited to 'community/pdns-recursor/APKBUILD')
-rw-r--r-- | community/pdns-recursor/APKBUILD | 135 |
1 files changed, 106 insertions, 29 deletions
diff --git a/community/pdns-recursor/APKBUILD b/community/pdns-recursor/APKBUILD index ad7ca346648..baa5ada5410 100644 --- a/community/pdns-recursor/APKBUILD +++ b/community/pdns-recursor/APKBUILD @@ -1,27 +1,57 @@ # Maintainer: Peter van Dijk <peter.van.dijk@powerdns.com> -_pkgname=pdns-recursor # upstream package name pkgname=pdns-recursor -pkgver=4.5.6 +pkgver=5.0.4 pkgrel=0 pkgdesc="PowerDNS Recursive Server" url="https://www.powerdns.com/" -arch="all !s390x !mips64" # broken context +arch="all !s390x" # broken context license="GPL-2.0-only WITH OpenSSL-Exception" -makedepends="autoconf automake libtool boost-dev openssl1.1-compat-dev libsodium-dev lua5.3-dev - net-snmp-dev" -install="$pkgname.pre-install" -subpackages="$pkgname-doc $pkgname-openrc" +depends="$pkgname-common" +makedepends="autoconf + automake + boost-dev + cargo + curl + curl-dev + libtool + libsodium-dev + lua5.4-dev + net-snmp-dev + openssl-dev>3 + " +install="$pkgname-common.pre-install" +subpackages="$pkgname-common::noarch $pkgname-doc $pkgname-openrc" pkgusers="recursor" pkggroups="recursor" -source="https://downloads.powerdns.com/releases/$_pkgname-$pkgver.tar.bz2 - $pkgname-GPGKEYS::https://www.powerdns.com/powerdns-keyblock.asc - $_pkgname.initd +source="https://downloads.powerdns.com/releases/pdns-recursor-${pkgver//_/-}.tar.bz2 + $pkgname.initd recursor.conf " +builddir="$srcdir/$pkgname-${pkgver//_/-}" -[ "$CARCH" = "riscv64" ] && options="$options textrels" +case "$CARCH" in +loongarch64|ppc64le|riscv64) + _luajit=OFF + ;; +*) + makedepends="$makedepends luajit-dev" + subpackages="$subpackages $pkgname-luajit" + _luajit=ON + ;; +esac # secfixes: +# 5.0.4-r0: +# - CVE-2024-25583 +# 5.0.2-r0: +# - CVE-2023-50387 +# - CVE-2023-50868 +# 4.8.1-r0: +# - CVE-2023-22617 +# 4.7.2-r0: +# - CVE-2022-37428 +# 4.6.1-r0: +# - CVE-2022-27227 # 4.3.5-r0: # - CVE-2020-25829 # 4.3.2-r0: @@ -46,44 +76,91 @@ source="https://downloads.powerdns.com/releases/$_pkgname-$pkgver.tar.bz2 # - CVE-2017-15093 # - CVE-2017-15094 -build() { +prepare() { + default_prepare + if [ "$_luajit" = "ON" ]; then + cp -a "$builddir" "$builddir-jit" + fi +} + +_configure() { + local arg="$1" + local lua + + if [ "$arg" = '-jit' ]; then + lua="luajit" + else + lua="lua5.4" + fi + + cd "$builddir$arg" + ./configure --prefix=/usr \ --sysconfdir=/etc/pdns \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --libdir=/usr/lib/pdns \ - --enable-unit-tests + --enable-dns-over-tls \ + --enable-unit-tests \ + --with-lua=$lua \ + --with-libcrypto=/usr +} + +build() { + _configure + make + + [ -d "$builddir-jit" ] || return 0 + + _configure -jit make } +_cat_found_file() { + local _rc="$?" + find . -name "$1" -type f -print -exec cat {} \; + return "$_rc" +} + check() { - make check + make check || _cat_found_file 'test-suite.log' + + if cd "$builddir-jit"; then + make check || _cat_found_file 'test-suite.log' + fi } package() { make DESTDIR="$pkgdir" install - rm -v "$pkgdir"/etc/pdns/recursor.conf-dist - install -m755 -D "$srcdir/$_pkgname.initd" \ + install -m755 -D "$srcdir/$pkgname.initd" \ "$pkgdir/etc/init.d/$pkgname" +} - install -v -m640 -o root -g recursor \ - -D "$srcdir/recursor.conf" \ - "$pkgdir/etc/pdns/recursor.conf" +common() { + pkgdesc="$pkgname common files" + depends="" + + mkdir -p "$subpkgdir/etc/pdns" + + mv "$pkgdir"/etc/pdns/* "$subpkgdir"/etc/pdns/ + mv "$subpkgdir"/etc/pdns/recursor.conf-dist "$subpkgdir"/etc/pdns/recursor.conf + cat "$srcdir/recursor.conf" >> "$subpkgdir"/etc/pdns/recursor.conf } -_gpg_signature_extensions="sig" -_gpgfingerprints=" - FBAE 0323 821C 7706 A5CA 151B DCF5 13FA 7EED 19F3 - 1628 90D0 689D D12D D33E 4696 1C5E E990 D2E7 1575 - good:B76C D467 1C09 68BA A87D E61C 5E50 715B F2FF E1A7 - good:16E1 2866 B773 8C73 976A 5743 6FFC 3343 9B0D 04DF - " +luajit() { + pkgdesc="$pkgname with luajit bindings" + depends="$pkgname-common" + provides="$pkgname=$pkgver-r$pkgrel" + + cd "$builddir-jit" + make DESTDIR="$subpkgdir" install-exec + rm -rf "$subpkgdir"/etc/pdns +} sha512sums=" -43c866a29bd72175bad71450dc20678183f6b11f60d54a174627501be52c79dc91819196be63e6859af086f42cc7297d7a3a6100088a2efe3c99eb8f5fd73e71 pdns-recursor-4.5.6.tar.bz2 -90ec29026d5457bb420d2477a5a9ec8083e4f09b6924c451cd02679fbaf6ea0c7a67aa91999d0dc5c98f95d8adffd3c3dc51138ea7e330825032329f6c75fd4d pdns-recursor-GPGKEYS +a78422917df91a8f8c49bc5c2bdf599f92f6c3359f049653c6623a05da8117445c04400321cc4e2128cfaedb7b345cbec003339c35e4f2c76bb43d16d07b00d4 pdns-recursor-5.0.4.tar.bz2 71f7be51d3a9a78f22f3946e95534d4f5b37b3bcbd1891ad3a17095be545fdb0eaf239d58c9f40ccc642542150c0b35ed025bf69acabfa779c0ab10c67a5e796 pdns-recursor.initd -9eb82b86ba75af71ef49a510f087bbefaaacafb4c06dde9124c0fa74b27456d59dd246cc8bffd35394fcf4840995375c9004827bbc3b527d419f54fd65bf632a recursor.conf +abda278d29b21e9635fb154c8685e5d346f47889498f075a8dd2e486f8ea4dcc2ccd20f4245783e4d55534fed88c49825b22fd3d1c55d8645522ce45cc53d661 recursor.conf " |