pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
powerdns-recursor53: PowerDNS Recursor 5.3.0
Module Name: pkgsrc-wip
Committed By: Marcin Gondek <drixter%e-utp.net@localhost>
Pushed By: drixter
Date: Thu Sep 18 20:46:18 2025 +0200
Changeset: 728dc520daaec90257973580ea99f402b092d04b
Modified Files:
Makefile
Added Files:
powerdns-recursor53/COMMIT_MSG
powerdns-recursor53/DESCR
powerdns-recursor53/Makefile
powerdns-recursor53/PLIST
powerdns-recursor53/cargo-depends.mk
powerdns-recursor53/cargo.mk
powerdns-recursor53/distinfo
powerdns-recursor53/files/pdns_recursor.sh
powerdns-recursor53/files/smf/manifest.xml
powerdns-recursor53/files/smf/pdns_recursor.sh
Log Message:
powerdns-recursor53: PowerDNS Recursor 5.3.0
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=728dc520daaec90257973580ea99f402b092d04b
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
powerdns-recursor53/COMMIT_MSG | 161 ++++++++++++++
powerdns-recursor53/DESCR | 6 +
powerdns-recursor53/Makefile | 49 +++++
powerdns-recursor53/PLIST | 6 +
powerdns-recursor53/cargo-depends.mk | 98 +++++++++
powerdns-recursor53/cargo.mk | 88 ++++++++
powerdns-recursor53/distinfo | 293 +++++++++++++++++++++++++
powerdns-recursor53/files/pdns_recursor.sh | 19 ++
powerdns-recursor53/files/smf/manifest.xml | 30 +++
powerdns-recursor53/files/smf/pdns_recursor.sh | 24 ++
11 files changed, 775 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index a71fc93aff..f5f917f971 100644
--- a/Makefile
+++ b/Makefile
@@ -3308,6 +3308,7 @@ SUBDIR+= pounce
SUBDIR+= povray
SUBDIR+= powerdevil
SUBDIR+= powerdns-recursor52
+SUBDIR+= powerdns-recursor53
SUBDIR+= powerlevel10k
SUBDIR+= powerline
SUBDIR+= powwow
diff --git a/powerdns-recursor53/COMMIT_MSG b/powerdns-recursor53/COMMIT_MSG
new file mode 100644
index 0000000000..a927c9839d
--- /dev/null
+++ b/powerdns-recursor53/COMMIT_MSG
@@ -0,0 +1,161 @@
+powerdns-recursor53: PowerDNS Recursor 5.3.0
+
+Released: 28th of August 2025
+Improvements
+Path.unlink(True) requires python 3.8, rewrite so it works on older versions.
+References: #16011, pull request 16027
+Include proper file in bridge.hh to avoid a case of creating a smart pointer to an incomplete class.
+References: #16021, pull request 16026
+Bug Fixes
+Check for pubsuffix.cc presence when building with autotools, followup to #15782.
+References: #16010, pull request 16028
+
+5.3.0-rc1
+Released: 21st of August 2025
+Improvements
+Move back to a single debian control file.
+References: #15934, pull request 15986
+Put lib.rs into dist tarball.
+References: #15938, pull request 15983
+Recursor/auth: remove obsolete pre install files.
+References: #15802, pull request 15982
+Bug Fixes
+Fix Boost system lib dependency: it is no longer available since 1.89.
+References: #15972, #15991, pull request 15993
+Add back parent span attributes, they were lost in #15756.
+References: #15974, #15981, pull request 15985
+If an RPZ hit has a custom CNAME record, we should try harder to follow it.
+References: #15893, pull request 15984
+
+5.3.0-beta1
+Released: 24th of July 2025
+New Features
+Add Lua hooks to dump and restore measured nameserver speed table.
+References: pull request 15803
+Improvements
+Add version and an alignment byte to the EDNS record for OpenTelemetry data.
+References: pull request 15887, pull request 15888
+Bug Fixes
+Chain and harden ECS enabled queries. (PowerDNS Security Advisory 2025-04: A Recursor configured to send out ECS enabled queries can be sensitive to spoofing attempts).
+References: pull request 15848
+
+5.3.0-alpha2
+Released: 9th of July 2025
+Improvements
+Allow forcing TCP from preoutquery() (elenril).
+References: pull request 15759
+Add el-10 target, based on rockylinux:10 for now.
+References: pull request 15639
+Clang-tidy: replace lock_guard with scoped_lock (Rosen Penev)
+References: pull request 15788
+Only download pub suffix list if pubsuffix.cc is not available.
+References: pull request 15782
+Fix Coverity issues and add release() to FDWrapper.
+References: pull request 15756, pull request 15766
+Start to listen on ::1 by default, but don�t consider it an error if that fails.
+References: pull request 15758
+Bug Fixes
+Don't let rust code and handler use thread pipes simultaneously.
+References: pull request 15752
+Fix sysconfdir in debian packages built by meson.
+References: #15723, pull request 15746
+
+5.3.0-alpha1
+Released: 25th of June 2025
+Improvements
+Add facility to generate trace data in OpenTelemetry format.
+References: pull request 15668
+Implement stop command as alias for quit(-nicely).
+References: #15674, pull request 15686
+Avoid implicit truncating cast of inception skew.
+References: pull request 15715
+Two Coverity issues, the truncation is meant to be.
+References: pull request 15700
+Introduce aliases for camelCase field names in config file.
+References: #15059, pull request 15692
+Fix negativetrustanchor.server CH TXT query processing (disabled by default).
+References: #15660, pull request 15661
+Build el-9 package with luajit on arm64.
+References: pull request 15626
+Rec: build packages using meson.
+References: pull request 15592 15628 15636
+Start building packages for trixie.
+References: pull request 15596
+Use Rust 1.87.0 when building our packages.
+References: pull request 15584
+Upgrade to protozero 1.8.0.
+References: pull request 15525
+Add a Lua function to get the config dir and name.
+References: pull request 15435
+Fix a difference between record-cache hit and miss in some ServFail results.
+References: pull request 15396
+Rec: [meson] make nod a feature instead of a boolean
+References: pull request 15373
+When CARGO_TARGET_DIR is set the generated C++ files end up in a different location.
+References: pull request 15369
+Fix generation of recursor config if PDNS_RECURSOR_API_KEY is set.
+References: #15367, pull request 15368
+Meson systemd cleanup.
+References: pull request 15309
+Add libcap feature and sync build-and-test-all options with autotools variants.
+References: pull request 15293
+Export ffi symbols so they become available to Lua.
+References: pull request 15292 15307
+Fix libsnmp define.
+References: pull request 15272
+More consistency in logging statements generated in web server code.
+References: pull request 15273
+Make sure t_tcpClientCounts is always initialized.
+References: pull request 15261
+Fix a few gcc warnings on trixie.
+References: pull request 15260
+Tidy of structured logging related files.
+References: pull request 15217
+Use meson to generate docs (html + pdf)
+References: pull request 15169
+Reload proxy settings on rec_control reload-acls.
+References: #14096, pull request 15167
+Store thread id in info object, makes a few methods less error prone.
+References: pull request 15216
+Switch back to serde_yaml.
+References: #15202, pull request 15203
+Add two missing includes.
+References: #15179, pull request 15192
+Minor Coverity issues.
+References: pull request 15168 15157
+Add meson install target and fix meson dist issues after new way of generating man pages was merged.
+References: pull request 15161
+Fix cxx include dir.
+References: pull request 15154
+Move to embedded web service written in Rust supporting multiple listen addresses and TLS.
+References: pull request 15114
+Make quit-nicely wait on actual quit and start using it for stopping by systemd.
+References: pull request 14976
+Check bounds of rcode stats counter index (safe right now).
+References: pull request 15139
+Clang-tidy: use std::min/max (Rosen Penev).
+References: pull request 14954
+Tidy credentials.??.
+References: pull request 15066
+Rec: New Coverity Variable copied when it could be moved cases
+References: pull request 15050 15057
+EDNSSubnetOpts refactoring
+References: #13704, pull request 15040
+Compute size estimate for record cache allocated size.
+References: pull request 15038
+Dedup records.
+References: #14120, pull request 14617
+Store authority recs and signatures as shared pointers to const data.
+References: pull request 14985 15017
+If the full CNAME chain leading to the answer is cached, indicate that.
+References: #14918, pull request 14973
+Bug Fixes
+When using ZoneToCache, do not store non-auth data if the name is subject to recursive forwarding.
+References: #15651, pull request 15652
+Force some files to be regenerated when table.py changes.
+References: pull request 15546
+Strip quotes meson adds from SYSCONFDIR (and two other config values).
+References: pull request 15437
+Delete temp file on failure to dump RPZ file.
+References: pull request 15033
+
diff --git a/powerdns-recursor53/DESCR b/powerdns-recursor53/DESCR
new file mode 100644
index 0000000000..0b861b76b6
--- /dev/null
+++ b/powerdns-recursor53/DESCR
@@ -0,0 +1,6 @@
+The PowerDNS recursor is part of the source tarball of the main PowerDNS
+distribution, but it is released separately. Starting from the version 3.0
+pre-releases, there are zero known bugs or issues with the recursor. It is
+known to power the resolving needs of over 2 million internet connections.
+
+PowerDNS recursor can gets names from /etc/hosts.
diff --git a/powerdns-recursor53/Makefile b/powerdns-recursor53/Makefile
new file mode 100644
index 0000000000..a661527672
--- /dev/null
+++ b/powerdns-recursor53/Makefile
@@ -0,0 +1,49 @@
+# $NetBSD$
+
+DISTNAME= pdns-recursor-5.3.0
+CATEGORIES= net
+MASTER_SITES= https://downloads.powerdns.com/releases/
+EXTRACT_SUFX= .tar.xz
+PKGNAME= powerdns-recursor-5.3.0
+
+MAINTAINER= drixter%e-utp.net@localhost
+HOMEPAGE= https://downloads.powerdns.com/releases/
+COMMENT= PowerDNS resolver
+LICENSE= gnu-gpl-v2
+
+GNU_CONFIGURE= yes
+USE_TOOLS+= gmake pkg-config
+USE_LIBTOOL= yes
+USE_LANGUAGES= c c++
+USE_CXX_FEATURES+= c++17
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --with-libsodium
+CONFIGURE_ARGS+= --enable-dns-over-tls
+CONFIGURE_ARGS+= --with-boost=${BUILDLINK_PREFIX.boost-headers}
+
+CHECK_WRKREF_SKIP+= sbin/pdns_recursor
+
+EGDIR= ${PREFIX}/share/examples/powerdns-recursor52
+CONF_FILES= ${EGDIR}/recursor.yml-dist ${PKG_SYSCONFDIR}/recursor.yml
+INSTALLATION_DIRS+= ${EGDIR}
+INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} sysconfdir=${EGDIR}
+
+RCD_SCRIPTS= pdns_recursor
+
+SMF_NAME= pdns-recursor
+SMF_METHODS= pdns_recursor
+
+
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "cargo-depends.mk"
+.include "cargo.mk"
+.include "../../lang/lua/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../security/libsodium/buildlink3.mk"
+.include "../../devel/protobuf/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../security/gnutls/buildlink3.mk"
+.include "../../net/fstrm/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/powerdns-recursor53/PLIST b/powerdns-recursor53/PLIST
new file mode 100644
index 0000000000..30905d584b
--- /dev/null
+++ b/powerdns-recursor53/PLIST
@@ -0,0 +1,6 @@
+@comment $NetBSD$
+bin/rec_control
+man/man1/pdns_recursor.1
+man/man1/rec_control.1
+sbin/pdns_recursor
+share/examples/powerdns-recursor52/recursor.yml-dist
diff --git a/powerdns-recursor53/cargo-depends.mk b/powerdns-recursor53/cargo-depends.mk
new file mode 100644
index 0000000000..aa3387742c
--- /dev/null
+++ b/powerdns-recursor53/cargo-depends.mk
@@ -0,0 +1,98 @@
+# $NetBSD$
+
+CARGO_CRATE_DEPENDS+= addr2line-0.24.2
+CARGO_CRATE_DEPENDS+= adler2-2.0.0
+CARGO_CRATE_DEPENDS+= anstyle-1.0.10
+CARGO_CRATE_DEPENDS+= backtrace-0.3.74
+CARGO_CRATE_DEPENDS+= base64-0.22.1
+CARGO_CRATE_DEPENDS+= bytes-1.10.0
+CARGO_CRATE_DEPENDS+= cc-1.2.11
+CARGO_CRATE_DEPENDS+= cfg-if-1.0.0
+CARGO_CRATE_DEPENDS+= clap-4.5.27
+CARGO_CRATE_DEPENDS+= clap_builder-4.5.27
+CARGO_CRATE_DEPENDS+= clap_lex-0.7.4
+CARGO_CRATE_DEPENDS+= codespan-reporting-0.11.1
+CARGO_CRATE_DEPENDS+= cxx-1.0.137
+CARGO_CRATE_DEPENDS+= cxx-build-1.0.137
+CARGO_CRATE_DEPENDS+= cxxbridge-cmd-1.0.137
+CARGO_CRATE_DEPENDS+= cxxbridge-flags-1.0.137
+CARGO_CRATE_DEPENDS+= cxxbridge-macro-1.0.137
+CARGO_CRATE_DEPENDS+= equivalent-1.0.1
+CARGO_CRATE_DEPENDS+= fnv-1.0.7
+CARGO_CRATE_DEPENDS+= foldhash-0.1.4
+CARGO_CRATE_DEPENDS+= form_urlencoded-1.2.1
+CARGO_CRATE_DEPENDS+= futures-channel-0.3.31
+CARGO_CRATE_DEPENDS+= futures-core-0.3.31
+CARGO_CRATE_DEPENDS+= futures-task-0.3.31
+CARGO_CRATE_DEPENDS+= futures-util-0.3.31
+CARGO_CRATE_DEPENDS+= getrandom-0.2.15
+CARGO_CRATE_DEPENDS+= gimli-0.31.1
+CARGO_CRATE_DEPENDS+= hashbrown-0.15.2
+CARGO_CRATE_DEPENDS+= http-1.2.0
+CARGO_CRATE_DEPENDS+= http-body-1.0.1
+CARGO_CRATE_DEPENDS+= http-body-util-0.1.2
+CARGO_CRATE_DEPENDS+= httparse-1.10.0
+CARGO_CRATE_DEPENDS+= httpdate-1.0.3
+CARGO_CRATE_DEPENDS+= hyper-1.6.0
+CARGO_CRATE_DEPENDS+= hyper-rustls-0.27.5
+CARGO_CRATE_DEPENDS+= hyper-util-0.1.10
+CARGO_CRATE_DEPENDS+= indexmap-2.7.1
+CARGO_CRATE_DEPENDS+= ipnet-2.11.0
+CARGO_CRATE_DEPENDS+= itoa-1.0.14
+CARGO_CRATE_DEPENDS+= libc-0.2.169
+CARGO_CRATE_DEPENDS+= link-cplusplus-1.0.9
+CARGO_CRATE_DEPENDS+= memchr-2.7.4
+CARGO_CRATE_DEPENDS+= miniz_oxide-0.8.3
+CARGO_CRATE_DEPENDS+= mio-1.0.3
+CARGO_CRATE_DEPENDS+= object-0.36.7
+CARGO_CRATE_DEPENDS+= once_cell-1.20.2
+CARGO_CRATE_DEPENDS+= percent-encoding-2.3.1
+CARGO_CRATE_DEPENDS+= pin-project-lite-0.2.16
+CARGO_CRATE_DEPENDS+= pin-utils-0.1.0
+CARGO_CRATE_DEPENDS+= proc-macro2-1.0.93
+CARGO_CRATE_DEPENDS+= quote-1.0.38
+CARGO_CRATE_DEPENDS+= ring-0.17.13
+CARGO_CRATE_DEPENDS+= rustc-demangle-0.1.24
+CARGO_CRATE_DEPENDS+= rustls-0.23.22
+CARGO_CRATE_DEPENDS+= rustls-pemfile-2.2.0
+CARGO_CRATE_DEPENDS+= rustls-pki-types-1.11.0
+CARGO_CRATE_DEPENDS+= rustls-webpki-0.102.8
+CARGO_CRATE_DEPENDS+= rustversion-1.0.19
+CARGO_CRATE_DEPENDS+= ryu-1.0.19
+CARGO_CRATE_DEPENDS+= scratch-1.0.7
+CARGO_CRATE_DEPENDS+= serde-1.0.217
+CARGO_CRATE_DEPENDS+= serde_derive-1.0.217
+CARGO_CRATE_DEPENDS+= serde_yaml-0.9.34+deprecated
+CARGO_CRATE_DEPENDS+= shlex-1.3.0
+CARGO_CRATE_DEPENDS+= smallvec-1.13.2
+CARGO_CRATE_DEPENDS+= socket2-0.5.8
+CARGO_CRATE_DEPENDS+= strsim-0.11.1
+CARGO_CRATE_DEPENDS+= subtle-2.6.1
+CARGO_CRATE_DEPENDS+= syn-2.0.98
+CARGO_CRATE_DEPENDS+= termcolor-1.4.1
+CARGO_CRATE_DEPENDS+= tokio-1.43.1
+CARGO_CRATE_DEPENDS+= tokio-rustls-0.26.1
+CARGO_CRATE_DEPENDS+= tower-service-0.3.3
+CARGO_CRATE_DEPENDS+= tracing-0.1.41
+CARGO_CRATE_DEPENDS+= tracing-core-0.1.33
+CARGO_CRATE_DEPENDS+= try-lock-0.2.5
+CARGO_CRATE_DEPENDS+= unicode-ident-1.0.16
+CARGO_CRATE_DEPENDS+= unicode-width-0.1.14
+CARGO_CRATE_DEPENDS+= unsafe-libyaml-0.2.11
+CARGO_CRATE_DEPENDS+= untrusted-0.9.0
+CARGO_CRATE_DEPENDS+= uuid-1.12.1
+CARGO_CRATE_DEPENDS+= want-0.3.1
+CARGO_CRATE_DEPENDS+= wasi-0.11.0+wasi-snapshot-preview1
+CARGO_CRATE_DEPENDS+= winapi-util-0.1.9
+CARGO_CRATE_DEPENDS+= windows-sys-0.52.0
+CARGO_CRATE_DEPENDS+= windows-sys-0.59.0
+CARGO_CRATE_DEPENDS+= windows-targets-0.52.6
+CARGO_CRATE_DEPENDS+= windows_aarch64_gnullvm-0.52.6
+CARGO_CRATE_DEPENDS+= windows_aarch64_msvc-0.52.6
+CARGO_CRATE_DEPENDS+= windows_i686_gnu-0.52.6
+CARGO_CRATE_DEPENDS+= windows_i686_gnullvm-0.52.6
+CARGO_CRATE_DEPENDS+= windows_i686_msvc-0.52.6
+CARGO_CRATE_DEPENDS+= windows_x86_64_gnu-0.52.6
+CARGO_CRATE_DEPENDS+= windows_x86_64_gnullvm-0.52.6
+CARGO_CRATE_DEPENDS+= windows_x86_64_msvc-0.52.6
+CARGO_CRATE_DEPENDS+= zeroize-1.8.1
diff --git a/powerdns-recursor53/cargo.mk b/powerdns-recursor53/cargo.mk
new file mode 100644
index 0000000000..f65a6dd96a
--- /dev/null
+++ b/powerdns-recursor53/cargo.mk
@@ -0,0 +1,88 @@
+# $NetBSD: cargo.mk,v 1.40 2024/11/24 16:13:42 he Exp $
+#
+# Common logic that can be used by packages that depend on cargo crates
+# from crates.io. This lets existing pkgsrc infrastructure fetch and verify
+# cargo crates instead of using the rust package manager in the build phase.
+# Inspired by cargo.mk from FreeBSD ports.
+#
+# Usage example:
+#
+# CARGO_CRATE_DEPENDS+= sha1-0.20
+# .include "../../lang/rust/cargo.mk"
+#
+# If modifying the list of dependencies, re-run the build once without
+# --offline in CARGO_ARGS to generate a new valid Cargo.lock.
+# e.g: make CARGO_ARGS="build --release" build
+#
+# a list of CARGO_CRATE_DEPENDS can be generated via
+# make print-cargo-depends > cargo-depends.mk
+#
+# See also www/geckodriver for a full example.
+
+MASTER_SITES?= -${MASTER_SITE_CRATESIO}${PKGBASE}/${PKGVERSION_NOREV}/download
+
+CHECK_SSP_SUPPORTED= no
+
+.include "../../lang/rust/rust.mk"
+
+USE_TOOLS+= bsdtar digest
+CARGO_VENDOR_DIR= ${WRKDIR}/vendor
+CARGO_WRKSRC?= ${WRKSRC}
+
+# TODO: some Cargo.lock files include git+https sources which need to be fetched from the URL (not necessarily resolving to a crate.io url)
+DISTFILES?= ${DEFAULT_DISTFILES}
+.for crate in ${CARGO_CRATE_DEPENDS}
+DISTFILES+= ${crate}.crate
+SITES.${crate}.crate+= -${MASTER_SITE_CRATESIO}${crate:C/-[0-9]+\.[0-9.]+.*$//}/${crate:C/^.*-([0-9]+\.[0-9.]+.*)$/\1/}/download
+EXTRACT_DIR.${crate}.crate?= ${CARGO_VENDOR_DIR}
+.endfor
+
+.include "../../mk/bsd.prefs.mk"
+# Triggers NetBSD ld.so bug (PR toolchain/54192)
+# See Makefile for further information.
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099957
+MAKE_JOBS_SAFE= no
+.endif
+
+post-extract: cargo-vendor-crates
+.PHONY: cargo-vendor-crates
+cargo-vendor-crates:
+ @${STEP_MSG} "Extracting local cargo crates"
+ ${RUN}${MKDIR} ${WRKDIR}/.cargo
+ ${RUN}${PRINTF} "[source.crates-io]\nreplace-with = \"vendored-sources\"\n[source.vendored-sources]\ndirectory = \"${CARGO_VENDOR_DIR}\"\n" > ${WRKDIR}/.cargo/config.toml
+ ${RUN}${MKDIR} ${CARGO_VENDOR_DIR}
+.for crate in ${CARGO_CRATE_DEPENDS}
+ ${RUN}${PRINTF} '{"package":"%s","files":{}}' \
+ `${DIGEST} sha256 < ${_DISTDIR}/${crate}.crate` \
+ > ${CARGO_VENDOR_DIR}/${crate}/.cargo-checksum.json
+.endfor
+
+# Legacy name
+.PHONY: show-cargo-depends
+show-cargo-depends: print-cargo-depends
+
+.PHONY: print-cargo-depends
+print-cargo-depends:
+ ${RUN}${AWK} 'BEGIN {print "# $$Net" "BSD$$"; print;} \
+ /^name = / { split($$3, a, "\""); name=a[2]; } \
+ /^version = / { split($$3, a, "\""); vers=a[2]; } \
+ /^source = / { \
+ print "CARGO_CRATE_DEPENDS+=\t" name "-" vers; \
+ }' ${CARGO_WRKSRC}/Cargo.lock
+
+.if ${RUST_TYPE} == "native"
+CARGO= cargo
+.else
+CARGO= ${PREFIX}/bin/cargo
+.endif
+DEFAULT_CARGO_ARGS= --offline -j${_MAKE_JOBS_N} \
+ ${CARGO_NO_DEFAULT_FEATURES:M[yY][eE][sS]:C/[yY][eE][sS]/--no-default-features/} \
+ ${CARGO_FEATURES:C/.*/--features/W} \
+ ${CARGO_FEATURES:S/ /,/Wg}
+CARGO_ARGS?= build --release ${DEFAULT_CARGO_ARGS}
+CARGO_INSTALL_ARGS?= install --path . --root ${DESTDIR}${PREFIX} ${DEFAULT_CARGO_ARGS}
+
+MAKE_ENV+= RUSTFLAGS=${RUSTFLAGS:Q}
+ALL_ENV+= CARGO_HOME=${WRKDIR}
+
+# PowerDNS Recursor is not pure rust application, removing generic build commands
diff --git a/powerdns-recursor53/distinfo b/powerdns-recursor53/distinfo
new file mode 100644
index 0000000000..1a63790f70
--- /dev/null
+++ b/powerdns-recursor53/distinfo
@@ -0,0 +1,293 @@
+$NetBSD$
+
+BLAKE2s (addr2line-0.24.2.crate) = 5bdb03ff8621c0993eda0ec3682c467ad3fc0015f48e46a70779bbd4bfbe8267
+SHA512 (addr2line-0.24.2.crate) = 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b
+Size (addr2line-0.24.2.crate) = 39015 bytes
+BLAKE2s (adler2-2.0.0.crate) = d269f2089344d4a3f4d0908af3257cf2a65755be0349ff42e3854509afd388f3
+SHA512 (adler2-2.0.0.crate) = 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423
+Size (adler2-2.0.0.crate) = 13529 bytes
+BLAKE2s (anstyle-1.0.10.crate) = 9353df5e37fcee9def625c0fb34618531a29d45da873b684b97190f3abbcb25d
+SHA512 (anstyle-1.0.10.crate) = 621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea
+Size (anstyle-1.0.10.crate) = 15725 bytes
+BLAKE2s (backtrace-0.3.74.crate) = bda0f7b7b887f75fc6c275c6f61b5fe796d1e214d189fa0724db4d2843262e2e
+SHA512 (backtrace-0.3.74.crate) = 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520
+Size (backtrace-0.3.74.crate) = 88516 bytes
+BLAKE2s (base64-0.22.1.crate) = fe73b3b9d1780e56d1208d2e9084cafa72d5e488ef081927b03ccae3108e058a
+SHA512 (base64-0.22.1.crate) = 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
+Size (base64-0.22.1.crate) = 81597 bytes
+BLAKE2s (bytes-1.10.0.crate) = 770c752dfc1d4f58d1c705a240beb7a9d0c0e5f46422939839b0b49c7d222cf7
+SHA512 (bytes-1.10.0.crate) = ee02d6c0ae18e75ac3a44f949f3891b98865bae5594b25a866b619c42fb574b5249e4e936972373845030c27cd94d2bfcc14885f9f92ef23bf059ad7fc8fbb2b
+Size (bytes-1.10.0.crate) = 76656 bytes
+BLAKE2s (cc-1.2.11.crate) = 6b3ba910fb8ea5c486e967286627362ad6ac965abc166c95538d18f973ca8df6
+SHA512 (cc-1.2.11.crate) = 07bd3ff83343b529eaf025172a4f3218ca3f6790f7bb7868127144a8ef2430c95d039fc585f0d7e2b61360de67b9990277b8256a6488f8f3d4ef48fed22edeaa
+Size (cc-1.2.11.crate) = 102015 bytes
+BLAKE2s (cfg-if-1.0.0.crate) = fbb02f63b24cc224b045ff2aac3aefd0a77cf7b578df4d5f9da9517a59aaf9bb
+SHA512 (cfg-if-1.0.0.crate) = 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+Size (cfg-if-1.0.0.crate) = 7934 bytes
+BLAKE2s (clap-4.5.27.crate) = 6a27b83a9d367a88c56921d8a7e479fd64a960de965d9f7865121bc734b4e352
+SHA512 (clap-4.5.27.crate) = e07ff5781679b1da62b0bdf25a674b3d48e1c2d2691ebb7c674562b83ec715b5fb0ece2df0867b0c0d833428d61ce1b3cca976fbeb4bb014273a007453391839
+Size (clap-4.5.27.crate) = 55737 bytes
+BLAKE2s (clap_builder-4.5.27.crate) = 5e93e90f1ad8d24b2b9f442d59e33d019ad04758146b1a61ee85c2b6c5ea8590
+SHA512 (clap_builder-4.5.27.crate) = 77b0e968361bd348b95b5b2993d5d1a3a4f3dda5fa790598bcb5edd201e7ad487a9ed87f551d40c30343e3e0a30942273c07c7becc12b4b67ddf7395488d8265
+Size (clap_builder-4.5.27.crate) = 168024 bytes
+BLAKE2s (clap_lex-0.7.4.crate) = 87179de8b09978be634962bb5bf3feebda3994e47c4e29fb88504349e07ad710
+SHA512 (clap_lex-0.7.4.crate) = a2566868f4619679d3b74b70592ffa6a04b13e38e3196c56bb1dae8bea0c711bddbccd778d2aba3cc0ee074c9b1cc0335222818f0d47fb3cc8109cbc35bb992e
+Size (clap_lex-0.7.4.crate) = 12858 bytes
+BLAKE2s (codespan-reporting-0.11.1.crate) = be633c7879fb3d6ea50ceea7fc86d7883446a859cad5dbfac671b4c35b182ded
+SHA512 (codespan-reporting-0.11.1.crate) = 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844
+Size (codespan-reporting-0.11.1.crate) = 48963 bytes
+BLAKE2s (cxx-1.0.137.crate) = df1afa72b0f421f26c6fd2c7cd79184c09fc366b2af68132c418210ff9b2d812
+SHA512 (cxx-1.0.137.crate) = 533817a9982a12f7340f9c9a5bab5574871c871ba199d2f5ecfe205482dea7bcf99bcea5221157c721607ac9f12ecf224977cc2f78ab45f8d9741a1ea5aa243c
+Size (cxx-1.0.137.crate) = 234864 bytes
+BLAKE2s (cxx-build-1.0.137.crate) = b2924f46380f94b63a4a4d0b63f59a74fce2fb29f5321c16281b11b4a24568c7
+SHA512 (cxx-build-1.0.137.crate) = 6cbf86993fb7b85483bb31b74b8543c5af000ae79f65f0291298d4a82bb753336cc81a3fed5416dd43e54dea2e95b11cf1d4cbbe1430b0194d3d2a911a346d69
+Size (cxx-build-1.0.137.crate) = 89255 bytes
+BLAKE2s (cxxbridge-cmd-1.0.137.crate) = 8d130f16a1cfcc922859208565178007ea43b76c1069f1ffea728a129aff07e4
+SHA512 (cxxbridge-cmd-1.0.137.crate) = 5ca733aa94b44d2a1cf761140653de5ab33ff5bddb0eb1e426bb9595b3507f1d4939e9f67aaaf271ae784a83bd34b2e8d81021448800229ca90c64b7a28f7ee2
+Size (cxxbridge-cmd-1.0.137.crate) = 76905 bytes
+BLAKE2s (cxxbridge-flags-1.0.137.crate) = 9ea736f67f77de023849ae4a892ca69c44e9b7b8be33c9846e12ed74aad72480
+SHA512 (cxxbridge-flags-1.0.137.crate) = 26d2f4e4aa1d4a1858059c2ccebdcc494409a6b82b9121516c34c671d51d9e5fe5e68e97c33aaa1ff1a0f46859d6f9a237bc50387592452b5d790df9a1905e7d
+Size (cxxbridge-flags-1.0.137.crate) = 5361 bytes
+BLAKE2s (cxxbridge-macro-1.0.137.crate) = bec73c60952c7864f56510a277e1fa620e9bf145e1e14caea64bc313728e35c3
+SHA512 (cxxbridge-macro-1.0.137.crate) = d3a7bd34c98d7a9c5e3c0f90d654ec993030d9c280fe0127f55a273213d6890981414f191e09191cd39c36a16efb09cc9e351ff3baa225f41fb8363c8b45de80
+Size (cxxbridge-macro-1.0.137.crate) = 64045 bytes
+BLAKE2s (equivalent-1.0.1.crate) = 915ff7ece3e11b5de2f2f26d2da9c4dfa1c7484416c53025c08507677cebebbd
+SHA512 (equivalent-1.0.1.crate) = b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
+Size (equivalent-1.0.1.crate) = 6615 bytes
+BLAKE2s (fnv-1.0.7.crate) = ffa8e3e3e120c65486f2575822704aa79aac381f375d7295875475e36775ff09
+SHA512 (fnv-1.0.7.crate) = 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+Size (fnv-1.0.7.crate) = 11266 bytes
+BLAKE2s (foldhash-0.1.4.crate) = d9cf20e5593b039ab3e0a3ccdc481b01b9e5d8ee19d215404dc220b376ba6324
+SHA512 (foldhash-0.1.4.crate) = 096efd30917c42e75e162a79d5c0ef068af76c7b6206cef880c4a3af92d096b4b4a1cd3de5b66ddb040730d58678c9a651734517dc8a60a265ebddd5559b95c1
+Size (foldhash-0.1.4.crate) = 13764 bytes
+BLAKE2s (form_urlencoded-1.2.1.crate) = 9682c681e474ffe84aa961c21cf56d5afe680e43e97824e735546f8383f69e3c
+SHA512 (form_urlencoded-1.2.1.crate) = c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+Size (form_urlencoded-1.2.1.crate) = 8969 bytes
+BLAKE2s (futures-channel-0.3.31.crate) = f03e5a01e367fab8e21b1a5b9cbe7be1f222cfc03a591602bc173dd3361f97c0
+SHA512 (futures-channel-0.3.31.crate) = 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69
+Size (futures-channel-0.3.31.crate) = 31971 bytes
+BLAKE2s (futures-core-0.3.31.crate) = f84e20f9d5ced305ff7e990075c80d6b4beb1feed31c4ed4cef703a48c377154
+SHA512 (futures-core-0.3.31.crate) = d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935
+Size (futures-core-0.3.31.crate) = 14318 bytes
+BLAKE2s (futures-task-0.3.31.crate) = fb82779c9b97e6a69214dbdbff570939eed7837e1f92b23571ca97c49385a93d
+SHA512 (futures-task-0.3.31.crate) = 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81
+Size (futures-task-0.3.31.crate) = 11217 bytes
+BLAKE2s (futures-util-0.3.31.crate) = 34b50c0b2fb2b69dcabea6d503c75c8324d704faf1d7d2f00bb192c76f43789b
+SHA512 (futures-util-0.3.31.crate) = 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3
+Size (futures-util-0.3.31.crate) = 162124 bytes
+BLAKE2s (getrandom-0.2.15.crate) = ac18905cf81fcf1cf0ad0b35776937b646a061e9c99c3ff7ab72cae34b8361f4
+SHA512 (getrandom-0.2.15.crate) = 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
+Size (getrandom-0.2.15.crate) = 37163 bytes
+BLAKE2s (gimli-0.31.1.crate) = 285041fbf11878daf6c1a0a64998883c64ab3426df1fd74bb897ea9c6c548419
+SHA512 (gimli-0.31.1.crate) = b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949
+Size (gimli-0.31.1.crate) = 279515 bytes
+BLAKE2s (hashbrown-0.15.2.crate) = 3d249da59d8a2fa388cce1ecf55b3873572899a8aabe533dee380a5253fcb71c
+SHA512 (hashbrown-0.15.2.crate) = d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd
+Size (hashbrown-0.15.2.crate) = 138478 bytes
+BLAKE2s (http-1.2.0.crate) = e662ea7723cf1502c6c2f7472a3fd38f35baae2f5e3be77c05ced1471a4c5077
+SHA512 (http-1.2.0.crate) = 2c8e7234ec3aa720c9dd762c0bb06367fbc39ea89446fc9d8d2e55052a4ac461559a20a8294c877879f3e94d5db06fe41e2cdbb9664ea7ab1bc8003abb038bb5
+Size (http-1.2.0.crate) = 105932 bytes
+BLAKE2s (http-body-1.0.1.crate) = 095da94c17f05738a7e5e0d6681aa805d14882003a246704cc0b70f19b9206c9
+SHA512 (http-body-1.0.1.crate) = 3d9a711619e5b14d2188fa42bbd43653dceeeb7e172cbd96d36fdf37846fa2c1efa0fad019395a4fa6da2e139875934aa56caf7332dc40546095b0a774ca39bd
+Size (http-body-1.0.1.crate) = 6125 bytes
+BLAKE2s (http-body-util-0.1.2.crate) = 8ac88f6edeecd42305087c9c6bfc69760346207338df705ee4621440b550ee7b
+SHA512 (http-body-util-0.1.2.crate) = 1f3eddc475791d860848041075d9df8a3d613c9761b2248364e406c84b070b9d2e4d7e8ced61d7445d97919d5cb96d5c1424e8298ddbe6069110c6d4a5c9246e
+Size (http-body-util-0.1.2.crate) = 12821 bytes
+BLAKE2s (httparse-1.10.0.crate) = c93e5ca39a3b8aa51ef4a8663bc158593f1a2864d2e200aaf3b90a97a9c04878
+SHA512 (httparse-1.10.0.crate) = 0ed43a15585b49064ae6b745b7c17775db1d849911115448239fa70a0b6f1d5a1fb09e654c4c04af8d533d74865966bfb215135a133aefec89eac81f136709d6
+Size (httparse-1.10.0.crate) = 44882 bytes
+BLAKE2s (httpdate-1.0.3.crate) = 9d7d481199e2a0a4f61010c28d20a32426605905a9db6ffc707008dfb6328b31
+SHA512 (httpdate-1.0.3.crate) = 0586888fe89f40b838d5ceb083084d0b8058feff1d2933faedb96896dc86eec68b541a0374a508fd11b86eeadab3c62f88568ffe2c53206fad438373a50b2e5a
+Size (httpdate-1.0.3.crate) = 10639 bytes
+BLAKE2s (hyper-1.6.0.crate) = 8072d5691dcdfa58cb8c84366ec2083fbaeda33fbb5ea12a6b834957d9a37e93
+SHA512 (hyper-1.6.0.crate) = 8c30624f51fed280e909ca526284f81a0863e3ace05f20ce8117298f180efc1567e92f807895034d9ad83026059e4b90c5a3cfe527a3e9c99674489fd17fc6a8
+Size (hyper-1.6.0.crate) = 153923 bytes
+BLAKE2s (hyper-rustls-0.27.5.crate) = 699c50ed778d61572f02034b4ca97e6f5dcf110716ba2e869607410fde39ad02
+SHA512 (hyper-rustls-0.27.5.crate) = 6a2451be2f42880978b0236385e8775fdfc3f538d9642c7fd6993ce85b16d623357f97a8c2a328e76e31c76083a8be557a4e7447f34aa52b9e990f4c9680e193
+Size (hyper-rustls-0.27.5.crate) = 34660 bytes
+BLAKE2s (hyper-util-0.1.10.crate) = 566c1923d06cb89a6649f68fbee1c0ce7dfb5dbf2bc529c8a7bbef03bdcde7e4
+SHA512 (hyper-util-0.1.10.crate) = 0a16c5d8857cf522bd53017dac50e530ae685c512eb55221fd6808299c7d716815f7b8192f8a9a504421b938cc0536bd497c7388d2f70ebbd91c46b644496b2a
+Size (hyper-util-0.1.10.crate) = 72887 bytes
+BLAKE2s (indexmap-2.7.1.crate) = f83e3acfcd009a41ab53a9c3bd123622afd57b8c29631b6db0c6a4b597756fce
+SHA512 (indexmap-2.7.1.crate) = 225703f74a734da1ad464895192f07c83068b36129f69a9e87608134f250d3a19b95fdb21dcda6c44cb0204bc4ad69bfbba24d94c83b439000ab4b9ffec74abe
+Size (indexmap-2.7.1.crate) = 88644 bytes
+BLAKE2s (ipnet-2.11.0.crate) = 33825e9ccf819e1a8b8608739e6f6165c1f213b2cce3898a30ad93f96aa98390
+SHA512 (ipnet-2.11.0.crate) = 9d3c42b5bd93a792ac09975b9ced105e6e8b1eb83bfe012aeabcaa3fc388ee2c5a0541d5cd6dae48dfb97cf82aa970316962d231b65298873136335ac3e5ddca
+Size (ipnet-2.11.0.crate) = 29718 bytes
+BLAKE2s (itoa-1.0.14.crate) = 552655542c0666cc9f084032bd9ab26f75a1a85c6293b9aecaa55f84d84d1ebb
+SHA512 (itoa-1.0.14.crate) = ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987
+Size (itoa-1.0.14.crate) = 11210 bytes
+BLAKE2s (libc-0.2.169.crate) = 2a4aa1b409bfdcd544082bdece61f482252806c43a5ddb9081203416a7c65f85
+SHA512 (libc-0.2.169.crate) = c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce
+Size (libc-0.2.169.crate) = 757901 bytes
+BLAKE2s (link-cplusplus-1.0.9.crate) = 858168f1df1fea9e5cc44093f7f3d8db74a15bae328a14b17dafd3a5ffd87a0f
+SHA512 (link-cplusplus-1.0.9.crate) = 30697093b54ca449135d7a2a963bdd9af61a446472b0f245c87a05bd6eefa62eeebf9cc58cf17aa77ac5f2301b05ae27d13eb50d92ec58fec27303f865261170
+Size (link-cplusplus-1.0.9.crate) = 7484 bytes
+BLAKE2s (memchr-2.7.4.crate) = 87799dee61c273cba812d73b67f6ccaf05d8f18d4cc33e0f70986a1485ee0d64
+SHA512 (memchr-2.7.4.crate) = 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
+Size (memchr-2.7.4.crate) = 96670 bytes
+BLAKE2s (miniz_oxide-0.8.3.crate) = f45b701758f3825a16529de4da662ae620dc9eb67ce051a902bf80ff7ad12c5b
+SHA512 (miniz_oxide-0.8.3.crate) = b79cd67a477851b18ed87c887bfd9f40f97059eb3fedbdc3a52eac66b5fcea42cae833eea39fd62becdb057b337f91d27f2087a407d02770feeaea934c0b1e1c
+Size (miniz_oxide-0.8.3.crate) = 61827 bytes
+BLAKE2s (mio-1.0.3.crate) = 557461aecdf15f429bf14eac03f0c53597cf18c7222aac33d796634cf7d19db9
+SHA512 (mio-1.0.3.crate) = 2142edc7e9378fc3437110c85ba2cee9c9683e87034cd44275d2c389645979db53fbbc29fec304f1d8c8f0464ae17d2a5db1aa9215d696fa0282f5069700b1e2
+Size (mio-1.0.3.crate) = 103703 bytes
+BLAKE2s (object-0.36.7.crate) = 60d06df3a36f1cb5ae663a64f3b069f4f162512bbcbf2364e812d4a775d53717
+SHA512 (object-0.36.7.crate) = dd69172349ecf51fd2351d32cc4453760ca1d15e854a1cf5ed99112032901a54b4645b24163b946deed11f81d3e3035e1a5afd8bff20f335dbd05eceab073478
+Size (object-0.36.7.crate) = 329938 bytes
+BLAKE2s (once_cell-1.20.2.crate) = b9ddff0586561ff5cefe206f725a20e083af1b8293f03a60b2dd9a821aa30e65
+SHA512 (once_cell-1.20.2.crate) = bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
+Size (once_cell-1.20.2.crate) = 33394 bytes
+BLAKE2s (pdns-recursor-5.3.0.tar.xz) = bceef052e574e92669226ca9a093bfa2efb8787fc19a733eff604c7e8e2e9588
+SHA512 (pdns-recursor-5.3.0.tar.xz) = 014799c024dafc98f09c987661b5e6c547074245a9fb60bc55448ea1f7c4e52547280ef80ccda4804e8e7eaba6c72801c9e7f3007219195edc1aad53056c10ce
+Size (pdns-recursor-5.3.0.tar.xz) = 1362096 bytes
+BLAKE2s (percent-encoding-2.3.1.crate) = 8594a9f1915da7ce4063312903905c640ff52cd3a0361bebc09357eee53aac26
+SHA512 (percent-encoding-2.3.1.crate) = 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+Size (percent-encoding-2.3.1.crate) = 10235 bytes
+BLAKE2s (pin-project-lite-0.2.16.crate) = c73e5923caec8a0889155d0689a016b373b9935426ed6c28b63322dd3543e323
+SHA512 (pin-project-lite-0.2.16.crate) = 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718
+Size (pin-project-lite-0.2.16.crate) = 30504 bytes
+BLAKE2s (pin-utils-0.1.0.crate) = 5a1cf546c08cd8ad36d3736e337a9865b694de6a636733d252a878aee8b1c204
+SHA512 (pin-utils-0.1.0.crate) = 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+Size (pin-utils-0.1.0.crate) = 7580 bytes
+BLAKE2s (proc-macro2-1.0.93.crate) = 75ee9a39784cef980f1e8bcf985d1afe3b228ac9652436ff3cc96a3494ce0629
+SHA512 (proc-macro2-1.0.93.crate) = 1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c
+Size (proc-macro2-1.0.93.crate) = 52388 bytes
+BLAKE2s (quote-1.0.38.crate) = f375d830ed52728a8f82c93c9697237100c279671eeb6cab3d7551773539ee58
+SHA512 (quote-1.0.38.crate) = 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af
+Size (quote-1.0.38.crate) = 31252 bytes
+BLAKE2s (ring-0.17.13.crate) = 3b2f0a01990c9bca6665e6914384ea963ebb29dd19ad7567f0e8f375649cc112
+SHA512 (ring-0.17.13.crate) = 62c8491a7c16d5b5a1b533842f4136e88038857409d11f3512249972d9aebb7a6097e587f3c0e08e833e18ce6a095add2f0eb7fd7bc148e537f0caffeb49d73f
+Size (ring-0.17.13.crate) = 1501917 bytes
+BLAKE2s (rustc-demangle-0.1.24.crate) = d1f3a5297eef667d93ae97758e4ce9ec9638a15af9e432cf197c0103e95dde1c
+SHA512 (rustc-demangle-0.1.24.crate) = eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8
+Size (rustc-demangle-0.1.24.crate) = 29047 bytes
+BLAKE2s (rustls-0.23.22.crate) = ce42319ea1bbdc08fa09d8668d3e771c2109c85aec8eda16a730e36ddb231798
+SHA512 (rustls-0.23.22.crate) = 0eb7ba40c0752e8b9b5ccfaa74d3c6575b3c8ab095b0e661bbb1b43cff334528c35bea5068bad2c154edb342425f6791c2651104ef4b0bc718121772b44d9090
+Size (rustls-0.23.22.crate) = 341983 bytes
+BLAKE2s (rustls-pemfile-2.2.0.crate) = 8d557e7cb03207804ec96b0daa5662836d9997ff8be38bf5333b76fc570f598b
+SHA512 (rustls-pemfile-2.2.0.crate) = 1e69f0b72c6060eb0a54ec8a1cb51809525b053771a1d417892205f8f5dbcf4ba45250fc0d6a836e0cc8fede06d934f0a90c47d475cd8e066dcb3f7504ddaf17
+Size (rustls-pemfile-2.2.0.crate) = 25849 bytes
+BLAKE2s (rustls-pki-types-1.11.0.crate) = a04714032671959d6405914572799ee938a8bcf43af43ac95d4d22e2ce261bbb
+SHA512 (rustls-pki-types-1.11.0.crate) = 60a6d20b66b15f077cbded6abcbfbc8524a02229209a3a73ed676a218ecffa26e375ab086247c05aec826ad63bcd9d446748a061191fe2ba5d9f35ec05b698fb
+Size (rustls-pki-types-1.11.0.crate) = 63933 bytes
+BLAKE2s (rustls-webpki-0.102.8.crate) = 484f2d7899561af2078346e4a835e4edf7c66ee18a770c570ec384204eed857c
+SHA512 (rustls-webpki-0.102.8.crate) = 8cdd5d07bb8d6c3f0d1d6663babc3b7ccbe8c9b1463870a3dd095c67f46addf4097a715da796c70f1891ebc1d045ae7d7c3a352400e8bfd6687e6cddfd33b1ba
+Size (rustls-webpki-0.102.8.crate) = 204327 bytes
+BLAKE2s (rustversion-1.0.19.crate) = 493e5baacb72524bee8ded52f1d1eaa8d8b3db468be2d22d306b841e64b4c0a2
+SHA512 (rustversion-1.0.19.crate) = 45b959aea8155ee47c51aa1d87c6c344b5f4b20199a2646ca30bdabe1c2458b014be91fe0c48c29c2261ad9e5de6df7eef7ddead1682e584d4a906c17984baab
+Size (rustversion-1.0.19.crate) = 20616 bytes
+BLAKE2s (ryu-1.0.19.crate) = 4003eb2a6b33b27f6e1d34efffb2bff4a00d3d32581e885fbef910796be01f25
+SHA512 (ryu-1.0.19.crate) = b80d07d609237e13ce1f8cbef5b16738308c540800c7ec18387aec876fb2204029754f20f1f273a0ea07f54dfbaa4595fd0a90044d09f124c1c99e46f1005a99
+Size (ryu-1.0.19.crate) = 48770 bytes
+BLAKE2s (scratch-1.0.7.crate) = 9e0c55d76129c736b4e4c99780d74de2be54c1f34410f14b459be5070c76750b
+SHA512 (scratch-1.0.7.crate) = 2cdd160a89844101b62b4d6c23a56d3f9089828b8914031ca973bcbdeffba41ee7d9fb2edb0736d5f8e19d3bf2b1491e8451ae8fe2525518939b2f5cc6310d55
+Size (scratch-1.0.7.crate) = 7997 bytes
+BLAKE2s (serde-1.0.217.crate) = 4a2dd3a9f64fa2768b2feba46b57ab14ebabb93868f4a01598a2bfdfa2c035a8
+SHA512 (serde-1.0.217.crate) = f97b3b54b9e99c9a027390405cc054c3072f49c92803a4ed5f5f69e76a179deda9d77993b645b3581437085912d881da88d0451b9e0da423c64033a23fdd8054
+Size (serde-1.0.217.crate) = 79019 bytes
+BLAKE2s (serde_derive-1.0.217.crate) = 0cbb8b76be5ec6cf793a798ee23a211b85cdb00cf365344a9904dfc06ce57bd3
+SHA512 (serde_derive-1.0.217.crate) = 31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76
+Size (serde_derive-1.0.217.crate) = 57749 bytes
+BLAKE2s (serde_yaml-0.9.34+deprecated.crate) = f0555fcf281f63a6db07fbcaa0abf75f4beb4dc12be741c4abf13ae5956dc035
+SHA512 (serde_yaml-0.9.34+deprecated.crate) = 64329436d18bc3b1a0737afff7c8727f7e04c71b2bf6022f597a45f0860fa3a678eac688f61f0bf7a7846f98809f427c9907625e1d00c8691c383043c1cffaca
+Size (serde_yaml-0.9.34+deprecated.crate) = 65290 bytes
+BLAKE2s (shlex-1.3.0.crate) = 00a54f2882a7a2c2170fca55bd1acd51eea79f115f972ce143b5f4c9c974ee43
+SHA512 (shlex-1.3.0.crate) = 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+Size (shlex-1.3.0.crate) = 18713 bytes
+BLAKE2s (smallvec-1.13.2.crate) = b0c6aa90972d031feb8f50aa1562ab0dbce3a027e6a54bea2586c819ef8e369b
+SHA512 (smallvec-1.13.2.crate) = a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+Size (smallvec-1.13.2.crate) = 35216 bytes
+BLAKE2s (socket2-0.5.8.crate) = 9c17a53fbc646cea85cb988be428c04080cde570c346fb53ef95e8eeb0d00724
+SHA512 (socket2-0.5.8.crate) = b7d03608a3d4cf3e2d1539b5a375412effcc96279e8f57668fa8cf67b3f0a3a6b611ea5e2e72f282460582954acbb5364320611f7798a11ec9e4833e53830b60
+Size (socket2-0.5.8.crate) = 56309 bytes
+BLAKE2s (strsim-0.11.1.crate) = e844eaab35b47ce5619649d45ddd88a9821d745590e92864fdc3406c2f621aed
+SHA512 (strsim-0.11.1.crate) = 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
+Size (strsim-0.11.1.crate) = 14266 bytes
+BLAKE2s (subtle-2.6.1.crate) = 20c4da1ee5ba2b0bb1aa9725b78c70ccae98f7b6cab0b57266d539d1b323b636
+SHA512 (subtle-2.6.1.crate) = f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
+Size (subtle-2.6.1.crate) = 14562 bytes
+BLAKE2s (syn-2.0.98.crate) = 5fdc18ec6e5ae0e56d984bb7a4f45db56e990d081187a395a13fa140abd8f2bb
+SHA512 (syn-2.0.98.crate) = 792dc70249d55face151b5481b0ebabbd3d290de78cff8b5dad8bee08e5a932ee22e54ca5fc5980e0b218197d19822c3672e02eb92ca74c8ac1328081d4d2cbf
+Size (syn-2.0.98.crate) = 297807 bytes
+BLAKE2s (termcolor-1.4.1.crate) = 052eddf6925aee94ddd6422f049b834dfc769ebd3b40553e579a82895d10a253
+SHA512 (termcolor-1.4.1.crate) = b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
+Size (termcolor-1.4.1.crate) = 18773 bytes
+BLAKE2s (tokio-1.43.1.crate) = 87c5c63b5b6f594f961c83f8e70fecbdaef3ddab09fa48558ed01691d2ed3e82
+SHA512 (tokio-1.43.1.crate) = 3359878eefbd34294afb1362ce4430f631af8a4812af59da5a99306fe84c703cf34993c0b3453d6c55fa60ceb9446c1bc89f169367822342d8e12aa2e23a8439
+Size (tokio-1.43.1.crate) = 828219 bytes
+BLAKE2s (tokio-rustls-0.26.1.crate) = 36b6457656a6b3d92291413f984b2e07df1abd7d698a3680d4dc6b20b9aa015f
+SHA512 (tokio-rustls-0.26.1.crate) = 0cee6b356ebc4be05c484d459ac457280f41401093ca942cc61a6e6514dd4a48b1cc921f7dc02f9c8bc34b751d4d40d6d4768b21193d5a12c38ebd140bad4896
+Size (tokio-rustls-0.26.1.crate) = 31214 bytes
+BLAKE2s (tower-service-0.3.3.crate) = 889bc37f167c843f857a31b5fc503a40003b1019a8651d86e61c97b16af913ff
+SHA512 (tower-service-0.3.3.crate) = 770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd
+Size (tower-service-0.3.3.crate) = 6950 bytes
+BLAKE2s (tracing-0.1.41.crate) = 6e13ecc7da8c2186890c243e207328fd98b23cd8493c233ab70d58a24f96f0e4
+SHA512 (tracing-0.1.41.crate) = dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c
+Size (tracing-0.1.41.crate) = 82448 bytes
+BLAKE2s (tracing-core-0.1.33.crate) = 3221b93aae2f12a42b7b4d83e8b252b44cce13c53b1660c5db7c1fe249765607
+SHA512 (tracing-core-0.1.33.crate) = 1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef
+Size (tracing-core-0.1.33.crate) = 63434 bytes
+BLAKE2s (try-lock-0.2.5.crate) = dc461d615e36a08553313c3a3172764749d329fe5dc4707a3de8c54af94d3c31
+SHA512 (try-lock-0.2.5.crate) = 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08
+Size (try-lock-0.2.5.crate) = 4314 bytes
+BLAKE2s (unicode-ident-1.0.16.crate) = 92f5ba6fe73115e3689149bb04548fb9e201d3c3b8a7329da0c566a685a16b4f
+SHA512 (unicode-ident-1.0.16.crate) = 9484a34a4e283f94e971fa9ec42528a62f2c056e702040da37dd9d9b794e16e14a408302d1ac26a850d0eadf0d0266d8ef5b80761490f7029240244a39878ec9
+Size (unicode-ident-1.0.16.crate) = 47684 bytes
+BLAKE2s (unicode-width-0.1.14.crate) = 4ddc2fd3ee5bc866c828ff462007c04eaa776733703945469968ce59e6433fa9
+SHA512 (unicode-width-0.1.14.crate) = 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb
+Size (unicode-width-0.1.14.crate) = 271615 bytes
+BLAKE2s (unsafe-libyaml-0.2.11.crate) = 3cd33789ced82ced84c3c400a545b6b07238021976a0a342ba6168820cc4e8f1
+SHA512 (unsafe-libyaml-0.2.11.crate) = a42c95eaed1ae2e438d3ba19ccd92337327c34f6174a43db80e1f37c507154249c7510e93f81726890c6032c89fe21b1876582afb7fbb811e3931480c4727712
+Size (unsafe-libyaml-0.2.11.crate) = 62101 bytes
+BLAKE2s (untrusted-0.9.0.crate) = 48fd20f1ccabe5057140657a1103382efe55b4711cc443e17c503849f38c1589
+SHA512 (untrusted-0.9.0.crate) = 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
+Size (untrusted-0.9.0.crate) = 14447 bytes
+BLAKE2s (uuid-1.12.1.crate) = 3a28fc2b2e45d05ce7a687717a241e81bf6ba8a8a94280300a4437bc86020ace
+SHA512 (uuid-1.12.1.crate) = e9c7cb8f247704b59782a576fb55ff5ad4f0b632fa19da52d81fe09e9dc91a0f60b989d5c1887f548df336fb03a5147d5a03f826d4a98ba66fc6083f9b68174d
+Size (uuid-1.12.1.crate) = 48851 bytes
+BLAKE2s (want-0.3.1.crate) = 488160f86c0f114df758aaa6f64b8a12d9fd7183fec80888469c0ddd4ea9c0e7
+SHA512 (want-0.3.1.crate) = f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526
+Size (want-0.3.1.crate) = 6398 bytes
+BLAKE2s (wasi-0.11.0+wasi-snapshot-preview1.crate) = f023780bb2e4a8571dcb1012e76cfbfc3804df53b89abd5cd8ede9d7c5847d4c
+SHA512 (wasi-0.11.0+wasi-snapshot-preview1.crate) = 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+Size (wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 bytes
+BLAKE2s (winapi-util-0.1.9.crate) = 7cc1d153b6749f3f4f4afc0ab493851d26e55f5ca98b0e5aa803e93d6fef7ab5
+SHA512 (winapi-util-0.1.9.crate) = c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9
+Size (winapi-util-0.1.9.crate) = 12464 bytes
+BLAKE2s (windows-sys-0.52.0.crate) = c3fbc4dc1df8d727b7bee308e0c95dcfe190dc3f655d19dc027a7f522d496f79
+SHA512 (windows-sys-0.52.0.crate) = 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+Size (windows-sys-0.52.0.crate) = 2576877 bytes
+BLAKE2s (windows-sys-0.59.0.crate) = 5d2e4c909fd9f3bde5e2eb73f2e77acec19a71a0f60d12047657922b583cbb26
+SHA512 (windows-sys-0.59.0.crate) = d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061
+Size (windows-sys-0.59.0.crate) = 2387323 bytes
+BLAKE2s (windows-targets-0.52.6.crate) = fed2bcf4841033cc3a74ee335a8e3914c4857457f829c88977081182cc6498b9
+SHA512 (windows-targets-0.52.6.crate) = d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
+Size (windows-targets-0.52.6.crate) = 6403 bytes
+BLAKE2s (windows_aarch64_gnullvm-0.52.6.crate) = 22fddd2aa2d7419001b540e1cb9c3702ae4fb2972cd94448e325c00729033c87
+SHA512 (windows_aarch64_gnullvm-0.52.6.crate) = f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
+Size (windows_aarch64_gnullvm-0.52.6.crate) = 435718 bytes
+BLAKE2s (windows_aarch64_msvc-0.52.6.crate) = 8f50e782f7ff109325620b809e13c08b948f85e0519cf249f70c5b605866d07c
+SHA512 (windows_aarch64_msvc-0.52.6.crate) = a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
+Size (windows_aarch64_msvc-0.52.6.crate) = 832615 bytes
+BLAKE2s (windows_i686_gnu-0.52.6.crate) = 2bf3eede03990415b9bd6ab49e4d91d962d8ebe6303560848a2e9ef9f316331a
+SHA512 (windows_i686_gnu-0.52.6.crate) = a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822
+Size (windows_i686_gnu-0.52.6.crate) = 880402 bytes
+BLAKE2s (windows_i686_gnullvm-0.52.6.crate) = eafa7c3fdf8ce35ecee51ebf161ba59c582395537555921b94b8af952c9dd38c
+SHA512 (windows_i686_gnullvm-0.52.6.crate) = 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f
+Size (windows_i686_gnullvm-0.52.6.crate) = 475940 bytes
+BLAKE2s (windows_i686_msvc-0.52.6.crate) = 085f4ed29405a0351ecf62874780f2692e011dc0cedbd945270fe7d1f032987a
+SHA512 (windows_i686_msvc-0.52.6.crate) = ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96
+Size (windows_i686_msvc-0.52.6.crate) = 901163 bytes
+BLAKE2s (windows_x86_64_gnu-0.52.6.crate) = 72ec3c98937b6cb854cb09a78dabd88a71f56e96cdc99a3b46d4641b395f81ec
+SHA512 (windows_x86_64_gnu-0.52.6.crate) = c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb
+Size (windows_x86_64_gnu-0.52.6.crate) = 836363 bytes
+BLAKE2s (windows_x86_64_gnullvm-0.52.6.crate) = ad13afdffbbdfe4ac64f82de4ee71ba660793294c737412ddc7aa3f47109ddb3
+SHA512 (windows_x86_64_gnullvm-0.52.6.crate) = 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
+Size (windows_x86_64_gnullvm-0.52.6.crate) = 435707 bytes
+BLAKE2s (windows_x86_64_msvc-0.52.6.crate) = 5b8f356fbbd3d304c939f19f79a10b72a39c1b27decca9b0449a4af3761e9a79
+SHA512 (windows_x86_64_msvc-0.52.6.crate) = 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
+Size (windows_x86_64_msvc-0.52.6.crate) = 832564 bytes
+BLAKE2s (zeroize-1.8.1.crate) = 5a10298ca4d45f2d0a2cefc2ee481fc2341b0355e78a4b0940c31f776e5b2d38
+SHA512 (zeroize-1.8.1.crate) = dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe
+Size (zeroize-1.8.1.crate) = 20029 bytes
diff --git a/powerdns-recursor53/files/pdns_recursor.sh b/powerdns-recursor53/files/pdns_recursor.sh
new file mode 100755
index 0000000000..fa2ec655c4
--- /dev/null
+++ b/powerdns-recursor53/files/pdns_recursor.sh
@@ -0,0 +1,19 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: pdns_recursor.sh,v 1.2 2020/09/30 11:53:07 otis Exp $
+#
+
+# PROVIDE: pdns_recursor
+# REQUIRE: DAEMON
+
+. /etc/rc.subr
+
+name="pdns_recursor"
+rcvar=$name
+command="@PREFIX@/sbin/pdns_recursor"
+command_args="--daemon=yes 2>/dev/null"
+pidfile=/var/run/pdns-recursor/${name}.pid
+required_files="@PKG_SYSCONFDIR@/recursor.yml"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/powerdns-recursor53/files/smf/manifest.xml b/powerdns-recursor53/files/smf/manifest.xml
new file mode 100755
index 0000000000..5b6dfadf59
--- /dev/null
+++ b/powerdns-recursor53/files/smf/manifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+ <service name="@SMF_PREFIX@/pdns-recursor" type="service" version="1">
+ <create_default_instance enabled="false" />
+ <single_instance />
+ <dependency name="network" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <method_context></method_context>
+ <exec_method type='method' name='start' exec='@PREFIX@/@SMF_METHOD_FILE.pdns_recursor@ start' timeout_seconds='30' />
+ <exec_method type='method' name='stop' exec='@PREFIX@/@SMF_METHOD_FILE.pdns_recursor@ stop' timeout_seconds='30' />
+ <exec_method type='method' name='refresh' exec='@PREFIX@/@SMF_METHOD_FILE.pdns_recursor@ refresh' timeout_seconds='30' />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/recursor.xml" />
+ </property_group>
+ <template>
+ <common_name>
+ <loctext xml:lang="C">PowerDNS recursor service</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
diff --git a/powerdns-recursor53/files/smf/pdns_recursor.sh b/powerdns-recursor53/files/smf/pdns_recursor.sh
new file mode 100755
index 0000000000..be558dd071
--- /dev/null
+++ b/powerdns-recursor53/files/smf/pdns_recursor.sh
@@ -0,0 +1,24 @@
+#!@SMF_METHOD_SHELL@
+#
+# $NetBSD: pdns_recursor.sh,v 1.1 2020/09/30 11:53:07 otis Exp $
+#
+
+. /lib/svc/share/smf_include.sh
+
+if [ ! -d @VARBASE@/run/pdns-recursor ]; then
+ @MKDIR@ @VARBASE@/run/pdns-recursor
+ @CHMOD@ 0755 @VARBASE@/run/pdns-recursor
+fi
+
+case "$1" in
+ start)
+ @PREFIX@/sbin/pdns_recursor --daemon
+ ;;
+ stop)
+ @PREFIX@/bin/rec_control quit
+ ;;
+ refresh)
+ $0 stop
+ $0 start
+ ;;
+esac
Home |
Main Index |
Thread Index |
Old Index