pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

net/powerdns: Update to version 5.0.2



Module Name:	pkgsrc-wip
Committed By:	Marcin Gondek <drixter%e-utp.net@localhost>
Pushed By:	drixter
Date:		Sat Dec 27 19:07:32 2025 +0100
Changeset:	9bc6a81e132ae23ded7da1114b90dc12f36fbcb0

Modified Files:
	Makefile
Added Files:
	powerdns/COMMIT_MSG
	powerdns/DESCR
	powerdns/Makefile
	powerdns/Makefile.common
	powerdns/PLIST
	powerdns/backend.mk
	powerdns/distinfo
	powerdns/files/pdns.sh
	powerdns/files/smf/manifest.xml
	powerdns/options.mk
	powerdns/patches/patch-pdns_misc.hh
	powerdns/patches/patch-pdns_qtype.hh
	powerdns/patches/patch-pdns_version.cc

Log Message:
net/powerdns: Update to version 5.0.2

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=9bc6a81e132ae23ded7da1114b90dc12f36fbcb0

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                               |  1 +
 powerdns/COMMIT_MSG                    | 24 +++++++++++++
 powerdns/DESCR                         |  9 +++++
 powerdns/Makefile                      | 28 ++++++++++++++++
 powerdns/Makefile.common               | 32 ++++++++++++++++++
 powerdns/PLIST                         | 61 ++++++++++++++++++++++++++++++++++
 powerdns/backend.mk                    | 23 +++++++++++++
 powerdns/distinfo                      |  8 +++++
 powerdns/files/pdns.sh                 | 19 +++++++++++
 powerdns/files/smf/manifest.xml        | 29 ++++++++++++++++
 powerdns/options.mk                    | 26 +++++++++++++++
 powerdns/patches/patch-pdns_misc.hh    | 16 +++++++++
 powerdns/patches/patch-pdns_qtype.hh   | 17 ++++++++++
 powerdns/patches/patch-pdns_version.cc | 15 +++++++++
 14 files changed, 308 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 80790c25e3..10b42b8b78 100644
--- a/Makefile
+++ b/Makefile
@@ -3344,6 +3344,7 @@ SUBDIR+=	postoffice
 SUBDIR+=	pounce
 SUBDIR+=	povray
 SUBDIR+=	powerdevil
+SUBDIR+=	powerdns
 SUBDIR+=	powerlevel10k
 SUBDIR+=	powerline
 SUBDIR+=	powwow
diff --git a/powerdns/COMMIT_MSG b/powerdns/COMMIT_MSG
new file mode 100644
index 0000000000..b8e667371a
--- /dev/null
+++ b/powerdns/COMMIT_MSG
@@ -0,0 +1,24 @@
+net/powerdns: Update to version 5.0.2
+
+5.0.2
+Released: 11th of December 2025
+This is release 5.0.2 of the Authoritative Server. It contains bug fixes and a minor feature.
+Please review the Upgrade Notes before upgrading from versions < 5.0.x.
+
+New Features
+allow finer-grained rrset changes through the API
+References: #16589, pull request 16599
+
+Bug Fixes
+m4/pdns_check_libcrypto: fix ecdsa/eddsa includedir (famfo)
+References: #16538, pull request 16603
+add missing catch block for STL exceptions in createForward
+References: #16564, pull request 16566
+REST API: bring back 404 errors
+References: #16059, pull request 16532
+Give backends the ability to perform extra actions during zone rectify
+References: #15894, #16499, pull request 16512
+meson build: restore original binary names
+References: #16401, pull request 16486
+sdist: copy files as files, not as new dirs�
+References: #16398, pull request 16466
diff --git a/powerdns/DESCR b/powerdns/DESCR
new file mode 100644
index 0000000000..f632b69820
--- /dev/null
+++ b/powerdns/DESCR
@@ -0,0 +1,9 @@
+The PowerDNS nameserver is a modern, advanced and high performance
+authoritative-only nameserver.  It is written from scratch and conforms
+to all the relevant DNS standards documents.  PowerDNS is open source.
+
+The PowerDNS nameserver utilizes a flexible backend architecture that
+can access DNS information from any data source.  This includes file
+formats, Bind zone files, relational databases or LDAP directories.
+
+See the net/powerdns-* packages for additional backend modules.
diff --git a/powerdns/Makefile b/powerdns/Makefile
new file mode 100644
index 0000000000..6dcb50e705
--- /dev/null
+++ b/powerdns/Makefile
@@ -0,0 +1,28 @@
+# $NetBSD: Makefile,v 1.90 2025/10/18 08:21:18 wiz Exp $
+
+.include "Makefile.common"
+
+PKGNAME=	${DISTNAME:S/pdns/powerdns/}
+COMMENT=	Modern, advanced and high performance nameserver
+
+PDNS_MODULES+=	bind pipe remote
+
+.include "options.mk"
+
+CONFIGURE_ARGS+=	--enable-lua-records
+CONFIGURE_ARGS+=	--enable-tools
+CONFIGURE_ARGS+=	--with-dynmodules=no
+CONFIGURE_ARGS+=	--with-modules="${PDNS_MODULES}"
+
+RCD_SCRIPTS=		pdns
+SMF_NAME=		pdns
+
+EGDIR=			${PREFIX}/share/examples/pdns
+
+CONF_FILES+=		${EGDIR}/pdns.conf-dist ${PKG_SYSCONFDIR}/pdns.conf
+
+LDFLAGS.SunOS+=		-lsocket -lnsl
+
+INSTALL_MAKE_FLAGS+=	sysconfdir=${EGDIR}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/powerdns/Makefile.common b/powerdns/Makefile.common
new file mode 100644
index 0000000000..5bf05ef37f
--- /dev/null
+++ b/powerdns/Makefile.common
@@ -0,0 +1,32 @@
+# $NetBSD: Makefile.common,v 1.43 2025/10/18 08:21:18 wiz Exp $
+# used by net/powerdns/backend.mk
+
+PDNS_VERSION=	5.0.2
+DISTNAME=	pdns-${PDNS_VERSION}
+CATEGORIES=	net
+MASTER_SITES=	http://downloads.powerdns.com/releases/
+EXTRACT_SUFX=	.tar.bz2
+
+MAINTAINER?=	drixter%e-utp.net@localhost
+HOMEPAGE=	https://www.powerdns.com/
+LICENSE=	gnu-gpl-v2
+
+TOOL_DEPENDS+=		ragel-[0-9]*:../../devel/ragel
+
+USE_LANGUAGES=		c c++
+USE_LIBTOOL=		yes
+USE_TOOLS+=		bison flex gmake pkg-config
+GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--with-boost=${BUILDLINK_PREFIX.boost-headers}
+CONFIGURE_ARGS+=	--with-lua=lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}
+
+USE_CXX_FEATURES+=	c++17 filesystem
+
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../lang/lua/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/atomic64.mk"
diff --git a/powerdns/PLIST b/powerdns/PLIST
new file mode 100644
index 0000000000..76ee0e4490
--- /dev/null
+++ b/powerdns/PLIST
@@ -0,0 +1,61 @@
+@comment $NetBSD: PLIST,v 1.18 2025/06/30 11:00:50 jperkin Exp $
+bin/calidns
+bin/dnsbulktest
+bin/dnsgram
+bin/dnspcap2calidns
+bin/dnspcap2protobuf
+bin/dnsreplay
+bin/dnsscan
+bin/dnsscope
+bin/dnstcpbench
+bin/dnswasher
+bin/dumresp
+bin/ixplore
+bin/nproxy
+bin/nsec3dig
+bin/pdns_control
+bin/pdns_notify
+bin/pdnsutil
+bin/saxfr
+bin/sdig
+bin/stubquery
+bin/zone2json
+bin/zone2sql
+lib/pdns/libbindbackend.la
+${PLIST.sqlite}lib/pdns/libgsqlite3backend.la
+lib/pdns/libpipebackend.la
+lib/pdns/libremotebackend.la
+man/man1/calidns.1
+man/man1/dnsbulktest.1
+man/man1/dnsgram.1
+man/man1/dnspcap2calidns.1
+man/man1/dnspcap2protobuf.1
+man/man1/dnsreplay.1
+man/man1/dnsscan.1
+man/man1/dnsscope.1
+man/man1/dnstcpbench.1
+man/man1/dnswasher.1
+man/man1/dumresp.1
+man/man1/ixplore.1
+man/man1/nproxy.1
+man/man1/nsec3dig.1
+man/man1/pdns_control.1
+man/man1/pdns_notify.1
+man/man1/pdns_server.1
+man/man1/pdnsutil.1
+man/man1/saxfr.1
+man/man1/sdig.1
+man/man1/zone2json.1
+man/man1/zone2sql.1
+sbin/pdns_server
+${PLIST.sqlite}share/doc/pdns/3.4.0_to_4.0.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/4.0.0_to_4.2.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/4.2.0_to_4.3.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/4.3.0_to_4.3.1_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/4.3.1_to_4.7.0_schema.sqlite3.sql
+share/doc/pdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql
+share/doc/pdns/bind-dnssec.schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/schema.sqlite3.sql
+share/examples/pdns/pdns.conf-dist
diff --git a/powerdns/backend.mk b/powerdns/backend.mk
new file mode 100644
index 0000000000..8a1c07f626
--- /dev/null
+++ b/powerdns/backend.mk
@@ -0,0 +1,23 @@
+# $NetBSD: backend.mk,v 1.1 2025/06/30 11:00:50 jperkin Exp $
+# used by net/powerdns-geoip/Makefile
+# used by net/powerdns-ldap/Makefile
+# used by net/powerdns-mysql/Makefile
+# used by net/powerdns-odbc/Makefile
+# used by net/powerdns-pgsql/Makefile
+
+.include "../../net/powerdns/Makefile.common"
+
+DEPENDS+=		powerdns>=${PDNS_VERSION}:../../net/powerdns
+
+DISTINFO_FILE=		${.CURDIR}/../../net/powerdns/distinfo
+PATCHDIR=		${.CURDIR}/../../net/powerdns/patches
+
+CONFIGURE_ARGS+=	--disable-lua-records
+CONFIGURE_ARGS+=	--disable-pdns_server
+CONFIGURE_ARGS+=	--with-modules=""
+
+BUILD_DIRS=		modules
+
+# These are required by configure, but not used by the modules
+BUILDLINK_DEPMETHOD.boost-libs=		build
+BUILDLINK_DEPMETHOD.openssl=		build
diff --git a/powerdns/distinfo b/powerdns/distinfo
new file mode 100644
index 0000000000..e00af4064a
--- /dev/null
+++ b/powerdns/distinfo
@@ -0,0 +1,8 @@
+$NetBSD$
+
+BLAKE2s (pdns-5.0.2.tar.bz2) = 597cb7582cafb9495d4b317c69a36b13a4c1c2d0c81fa17c037aefd9763032ab
+SHA512 (pdns-5.0.2.tar.bz2) = ec3ce1130407813687402c796bd3a44187c85fbc8844f384c9e39c484de27784a653dbbfbfab76b3b21a25ef949edaf6f4e1b68030fd81d500b4a9e87d9bcbda
+Size (pdns-5.0.2.tar.bz2) = 1482737 bytes
+SHA1 (patch-pdns_misc.hh) = ffc2eea374157e25cae17743db900ff6e3101a66
+SHA1 (patch-pdns_qtype.hh) = 4d086e28e7bacc624cf7db199ac16ebafec88e04
+SHA1 (patch-pdns_version.cc) = 2b6d65a08a3b481a659908b74d5e573284f8b05e
diff --git a/powerdns/files/pdns.sh b/powerdns/files/pdns.sh
new file mode 100644
index 0000000000..1f1facb1c8
--- /dev/null
+++ b/powerdns/files/pdns.sh
@@ -0,0 +1,19 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: pdns.sh,v 1.2 2020/09/24 19:09:53 otis Exp $
+#
+
+# PROVIDE: pdns
+# REQUIRE: DAEMON
+
+. /etc/rc.subr
+
+name="pdns"
+rcvar=$name
+command="@PREFIX@/sbin/pdns_server"
+command_args="--daemon=yes"
+pidfile=/var/run/${name}/${name}.pid
+required_files="@PKG_SYSCONFDIR@/pdns.conf"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/powerdns/files/smf/manifest.xml b/powerdns/files/smf/manifest.xml
new file mode 100644
index 0000000000..aa45d6738d
--- /dev/null
+++ b/powerdns/files/smf/manifest.xml
@@ -0,0 +1,29 @@
+<?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" 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@/sbin/pdns_server --daemon=yes" timeout_seconds="60" />
+    <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+    <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@/pdns.conf" />
+    </property_group>
+    <template>
+      <common_name>
+        <loctext xml:lang="C">PowerDNS server service</loctext>
+      </common_name>
+    </template>
+  </service>
+</service_bundle>
diff --git a/powerdns/options.mk b/powerdns/options.mk
new file mode 100644
index 0000000000..7f2a6c100e
--- /dev/null
+++ b/powerdns/options.mk
@@ -0,0 +1,26 @@
+# $NetBSD: options.mk,v 1.11 2025/06/30 11:00:50 jperkin Exp $
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.powerdns
+PKG_SUPPORTED_OPTIONS=	botan sqlite zeromq
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		sqlite
+
+.if !empty(PKG_OPTIONS:Mbotan)
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../security/botan2/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Msqlite)
+PDNS_MODULES+=		gsqlite3
+PLIST.sqlite=		yes
+.include "../../databases/sqlite3/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mzeromq)
+CONFIGURE_ARGS+=	--enable-remotebackend-zeromq=yes
+.include "../../net/zeromq/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=	--enable-remotebackend-zeromq=no
+.endif
diff --git a/powerdns/patches/patch-pdns_misc.hh b/powerdns/patches/patch-pdns_misc.hh
new file mode 100644
index 0000000000..43683a20fe
--- /dev/null
+++ b/powerdns/patches/patch-pdns_misc.hh
@@ -0,0 +1,16 @@
+$NetBSD: patch-pdns_misc.hh,v 1.3 2025/06/30 11:00:50 jperkin Exp $
+
+Checking for CLOCK_THREAD_CPUTIME_ID is sufficient, not all systems
+define _POSIX_THREAD_CPUTIME.
+
+--- pdns/misc.hh.orig	2025-06-20 13:40:32.920712323 +0000
++++ pdns/misc.hh
+@@ -187,7 +187,7 @@ string bitFlip(const string &str);
+ void dropPrivs(int uid, int gid);
+ void cleanSlashes(string &str);
+ 
+-#if defined(_POSIX_THREAD_CPUTIME) && defined(CLOCK_THREAD_CPUTIME_ID)
++#if defined(CLOCK_THREAD_CPUTIME_ID)
+ /** CPUTime measurements */
+ class CPUTime
+ {
diff --git a/powerdns/patches/patch-pdns_qtype.hh b/powerdns/patches/patch-pdns_qtype.hh
new file mode 100644
index 0000000000..9554d68c4f
--- /dev/null
+++ b/powerdns/patches/patch-pdns_qtype.hh
@@ -0,0 +1,17 @@
+$NetBSD: patch-pdns_qtype.hh,v 1.3 2025/06/30 11:00:50 jperkin Exp $
+
+Avoid symbol pollution on SunOS.
+
+--- pdns/qtype.hh.orig	2025-06-20 14:11:31.859917271 +0000
++++ pdns/qtype.hh
+@@ -26,6 +26,10 @@
+ 
+ #include "namespaces.hh"
+ 
++#if defined(__sun) && defined(DS)
++#undef DS
++#endif
++
+ /** The QType class is meant to deal easily with the different kind of resource types, like 'A', 'NS',
+  *  'CNAME' etcetera. These types have both a name and a number. This class can seamlessly move between
+  *   them. Use it like this:
diff --git a/powerdns/patches/patch-pdns_version.cc b/powerdns/patches/patch-pdns_version.cc
new file mode 100644
index 0000000000..f9cbd6fc2e
--- /dev/null
+++ b/powerdns/patches/patch-pdns_version.cc
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Do not store configure args, as they contain workdir references.
+
+--- pdns/version.cc.orig	2025-12-11 09:59:35.000000000 +0100
++++ pdns/version.cc
+@@ -176,7 +176,7 @@
+   ret << "Loaded modules: " << boost::join(modules, " ") << endl;
+ #endif
+ // NOLINTBEGIN(cppcoreguidelines-macro-usage)
+-#ifdef PDNS_CONFIG_ARGS
++#if 0
+ #define double_escape(s) #s
+ #define escape_quotes(s) double_escape(s)
+   // NOLINTEND(cppcoreguidelines-macro-usage)


Home | Main Index | Thread Index | Old Index