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/APKBUILD118
1 files changed, 101 insertions, 17 deletions
diff --git a/community/pdns-recursor/APKBUILD b/community/pdns-recursor/APKBUILD
index c0c1bf29201..dde680c9554 100644
--- a/community/pdns-recursor/APKBUILD
+++ b/community/pdns-recursor/APKBUILD
@@ -1,26 +1,53 @@
# Maintainer: Peter van Dijk <peter.van.dijk@powerdns.com>
-_pkgname=pdns-recursor # upstream package name
pkgname=pdns-recursor
-pkgver=4.6.2
-pkgrel=1
+pkgver=5.0.3
+pkgrel=2
pkgdesc="PowerDNS Recursive Server"
url="https://www.powerdns.com/"
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 curl curl-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.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.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:
@@ -47,7 +74,25 @@ 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 \
@@ -55,26 +100,65 @@ build() {
--localstatedir=/var \
--libdir=/usr/lib/pdns \
--enable-dns-over-tls \
- --enable-unit-tests
+ --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
- mv "$pkgdir"/etc/pdns/recursor.conf-dist "$pkgdir"/etc/pdns/recursor.conf
- cat "$srcdir/recursor.conf" >> "$pkgdir"/etc/pdns/recursor.conf
- install -m755 -D "$srcdir/$_pkgname.initd" \
+ install -m755 -D "$srcdir/$pkgname.initd" \
"$pkgdir/etc/init.d/$pkgname"
+}
+
+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
+}
+
+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="
-20779a065720162f0a6223a4d92deeef7911892bb8aa1929f9c6a8a6ccd2f8756e7bd35c877dbf945bb7627a2a7d40626d02f0008c2e8a602b424d36c110fddc pdns-recursor-4.6.2.tar.bz2
+9e7ece25e05729e4e46023c5b7e524f46e9806cd6546bcdde9c01c038f6d53380184423e3f4c9239eaba94157d5fc53c3376225e75b4136d508dafdc1ad4e04b pdns-recursor-5.0.3.tar.bz2
71f7be51d3a9a78f22f3946e95534d4f5b37b3bcbd1891ad3a17095be545fdb0eaf239d58c9f40ccc642542150c0b35ed025bf69acabfa779c0ab10c67a5e796 pdns-recursor.initd
abda278d29b21e9635fb154c8685e5d346f47889498f075a8dd2e486f8ea4dcc2ccd20f4245783e4d55534fed88c49825b22fd3d1c55d8645522ce45cc53d661 recursor.conf
"