aboutsummaryrefslogtreecommitdiffstats
path: root/community/pdns-recursor/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/pdns-recursor/APKBUILD')
-rw-r--r--community/pdns-recursor/APKBUILD135
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
"