diff --git a/dns/powerdns/Makefile b/dns/powerdns/Makefile index cd56040abe02..323e1ecb7086 100644 --- a/dns/powerdns/Makefile +++ b/dns/powerdns/Makefile @@ -1,145 +1,144 @@ PORTNAME= powerdns -DISTVERSION= 5.1.2 +DISTVERSION= 5.1.3 CATEGORIES= dns MASTER_SITES= https://downloads.powerdns.com/releases/ DISTNAME= pdns-${DISTVERSION} MAINTAINER= tremere@cainites.net COMMENT= Advanced DNS server with multiple backends including SQL WWW= https://www.powerdns.com/auth.html LICENSE= GPLv2 NOT_FOR_ARCHS= i386 NOT_FOR_ARCHS_REASON= archs with 32-bits time_t are no longer supported by upstream BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} LIB_DEPENDS= libboost_program_options.so:devel/boost-libs \ libcurl.so:ftp/curl \ libsodium.so:security/libsodium USES= compiler:c++17-lang cpe libtool localbase meson pkgconfig \ python:build ssl tar:bzip2 USE_RC_SUBR= pdns MESON_ARGS= --datadir=${PREFIX}/share/doc \ --libdir=${PREFIX}/lib \ --sysconfdir=${PREFIX}/etc/pdns \ -Ddns-over-tls=enabled \ -Dhardening=disabled \ -Dipcipher=enabled \ + -Dlua-records=true \ -Dmodule-bind=dynamic \ -Dsigners-libcrypto-path=${OPENSSLBASE} \ -Dsigners-libcrypto=enabled \ -Dsigners-libsodium=enabled \ -Dsystemd-service=disabled \ -Dtls-libssl-dir=${OPENSSLBASE} \ -Dtls-libssl=enabled DOCSDIR= ${PREFIX}/share/doc/pdns BINARY_ALIAS= python3=${PYTHON_CMD} SUB_FILES= pkg-message USERS= pdns GROUPS= pdns OPTIONS_DEFINE= DOCS EXAMPLES GEOIP GNUTLS IXFRDIST LMDB LUABACKEND \ MYSQL OPENLDAP PGSQL REMOTE SQLITE3 TINYDNS TOOLS \ UNIXODBC ZEROMQ OPTIONS_DEFAULT= LMDB LUA MYSQL PGSQL SQLITE3 OPTIONS_SINGLE= EXTLUA OPTIONS_SINGLE_EXTLUA= LUA LUAJIT OPTIONS_SUB= yes -EXTLUA_DESC= Lua library +EXTLUA_DESC= Lua library implementation GEOIP_DESC= GeoIP backend (GeoIP2 DB) GNUTLS_DESC= DoT support via GnuTLS (sdig only) IXFRDIST_DESC= Build ixfrdist LMDB_DESC= LMDB backend -LUABACKEND_DESC= Lua2 backend -LUAJIT_DESC= Use luajit -LUA_DESC= Use lang/lua +LUABACKEND_DESC= Lua2 backend module (launch=lua2) +LUAJIT_DESC= Use LuaJIT (enables Lua records) +LUA_DESC= Use lang/lua (enables Lua records) MYSQL_DESC= MySQL backend OPENLDAP_DESC= OpenLDAP backend PGSQL_DESC= PostgreSQL backend REMOTE_DESC= Remote backend SQLITE3_DESC= SQLite 3 backend TINYDNS_DESC= TinyDNS backend TOOLS_DESC= Build extra tools ZEROMQ_DESC= Enable ZeroMQ connector (Implies REMOTE enabled) GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb \ libyaml-cpp.so:devel/yaml-cpp GEOIP_MESON_ON= -Dmodule-geoip=dynamic GEOIP_VARS= MODULES+=geoip GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls GNUTLS_MESON_ENABLED= tls-gnutls IXFRDIST_LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp IXFRDIST_MESON_TRUE= tools-ixfrdist LMDB_LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ liblmdb.so:databases/lmdb LMDB_MESON_ON= -Dmodule-lmdb=dynamic LMDB_VARS= MODULES+=lmdb LUABACKEND_MESON_ON= -Dmodule-lua2=dynamic -LUABACKEND_MESON_TRUE= lua-records LUABACKEND_VARS= MODULES+=lua2 LUAJIT_USES= luajit LUAJIT_MESON_ON= -Dlua=luajit -LUA_USES= lua -LUA_MESON_ON= -Dlua=lua +LUA_USES= lua +LUA_MESON_ON= -Dlua=lua -MYSQL_LIB_DEPENDS= libunwind.so:devel/libunwind MYSQL_USES= mysql MYSQL_MESON_ON= -Dmodule-gmysql=dynamic MYSQL_VARS= MODULES+=gmysql OPENLDAP_BUILD_DEPENDS= krb5>=0:security/krb5 OPENLDAP_LIB_DEPENDS= libkrb5.so:security/krb5 OPENLDAP_USES= ldap OPENLDAP_MESON_ON= -Dmodule-ldap=dynamic OPENLDAP_CXXFLAGS= -DLDAP_DEPRECATED=1 OPENLDAP_VARS= MODULES+=ldap -PGSQL_USES= pgsql -PGSQL_MESON_ON= -Dmodule-gpgsql=dynamic -PGSQL_VARS= MODULES+=gpgsql +PGSQL_USES= pgsql +PGSQL_MESON_ON= -Dmodule-gpgsql=dynamic +PGSQL_VARS= MODULES+=gpgsql REMOTE_MESON_ON= -Dmodule-remote=dynamic REMOTE_VARS= MODULES+=remote SQLITE3_USES= sqlite:3 SQLITE3_MESON_ON= -Dmodule-gsqlite3=dynamic SQLITE3_VARS= MODULES+=gsqlite3 TINYDNS_LIB_DEPENDS= libcdb.so:databases/tinycdb TINYDNS_MESON_ON= -Dmodule-tinydns=dynamic TINYDNS_VARS= MODULES+=tinydns TOOLS_MESON_TRUE= tools UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC UNIXODBC_MESON_ON= -Dmodule-godbc=dynamic UNIXODBC_VARS= MODULES+=godbc ZEROMQ_IMPLIES= REMOTE ZEROMQ_LIB_DEPENDS= libzmq.so:net/libzmq4 ZEROMQ_MESON_TRUE= module-remote-zeromq post-install:: .for bin in dnsdemog kvresp @${RM} ${STAGEDIR}${PREFIX}/bin/${bin} .endfor @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}/var/run/pdns @${STAGEDIR}${PREFIX}/sbin/pdns_server --module-dir=${STAGEDIR}${PREFIX}/lib/pdns \ --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf @${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf .include diff --git a/dns/powerdns/distinfo b/dns/powerdns/distinfo index 8712da5a1a45..b305dcf23b69 100644 --- a/dns/powerdns/distinfo +++ b/dns/powerdns/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1782380258 -SHA256 (pdns-5.1.2.tar.bz2) = 6855967a54ad7b5de89f910f05e348e317b2ed839eb498f96c38c1af7a1eaf38 -SIZE (pdns-5.1.2.tar.bz2) = 1549581 +TIMESTAMP = 1782810934 +SHA256 (pdns-5.1.3.tar.bz2) = 5fb05d5e197f63ab667d9b905e69dc8293244a896fbd046b3630b223ea5051e6 +SIZE (pdns-5.1.3.tar.bz2) = 1558769 diff --git a/dns/powerdns/files/patch-fix_missing_symbols b/dns/powerdns/files/patch-fix_missing_symbols deleted file mode 100644 index 553813ee7634..000000000000 --- a/dns/powerdns/files/patch-fix_missing_symbols +++ /dev/null @@ -1,68 +0,0 @@ ---- meson.build.orig 2026-06-10 08:51:36 UTC -+++ meson.build -@@ -458,6 +458,14 @@ endif - ) - endif - -+libpdns_sqlbackend = declare_dependency( -+ link_whole: static_library( -+ 'pdns-sqlbackend', -+ sources: files(src_dir / 'backends' / 'gsql' / 'gsqlbackend.cc', src_dir / 'backends' / 'gsql' / 'gsqlbackend.hh', src_dir / 'backends' / 'gsql' / 'ssql.hh'), -+ dependencies: deps, -+ ) -+) -+ - # This needs to be link_whole'd because it's needed by auth backends. - libpdns_ssqlite3 = dependency('', required: false) - if dep_sqlite3.found() -@@ -465,7 +473,7 @@ if dep_sqlite3.found() - link_whole: static_library( - 'pdns-ssqlite3', - sources: files(src_dir / 'ssqlite3.cc', src_dir / 'ssqlite3.hh'), -- dependencies: deps, -+ dependencies: [deps, libpdns_sqlbackend], - ) - ) - endif -@@ -497,9 +505,6 @@ common_sources += files( - src_dir / 'auth-zonecache.hh', - src_dir / 'axfr-retriever.cc', - src_dir / 'axfr-retriever.hh', -- src_dir / 'backends' / 'gsql' / 'gsqlbackend.cc', # TODO Move to a separate module. -- src_dir / 'backends' / 'gsql' / 'gsqlbackend.hh', # TODO Move to a separate module. -- src_dir / 'backends' / 'gsql' / 'ssql.hh', # TODO Move to a separate module. - src_dir / 'base32.cc', - src_dir / 'base32.hh', - src_dir / 'base64.cc', ---- modules/gmysqlbackend/meson.build.orig 2026-06-10 08:51:36 UTC -+++ modules/gmysqlbackend/meson.build -@@ -19,4 +19,4 @@ module_resources = files( - 'schema.mysql.sql', - ) - --module_deps = [deps, dep_mysql] -+module_deps = [deps, dep_mysql, libpdns_sqlbackend] ---- modules/godbcbackend/meson.build.orig 2026-06-10 08:51:36 UTC -+++ modules/godbcbackend/meson.build -@@ -15,4 +15,4 @@ module_resources = files( - '4.3.0_to_4.7.0_schema.mssql.sql', - ) - --module_deps = [deps, dep_odbc] -+module_deps = [deps, dep_odbc, libpdns_sqlbackend] ---- modules/gpgsqlbackend/meson.build.orig 2026-06-10 08:51:36 UTC -+++ modules/gpgsqlbackend/meson.build -@@ -18,4 +18,4 @@ module_resources = files( - '4.3.0_to_4.7.0_schema.pgsql.sql', - ) - --module_deps = [deps, dep_pgsql] -+module_deps = [deps, dep_pgsql, libpdns_sqlbackend] ---- modules/gsqlite3backend/meson.build.orig 2026-06-10 08:51:36 UTC -+++ modules/gsqlite3backend/meson.build -@@ -17,4 +17,4 @@ module_resources = files( - 'schema.sqlite3.sql', - ) - --module_deps = [deps, dep_sqlite3] -+module_deps = [deps, dep_sqlite3, libpdns_ssqlite3] diff --git a/dns/powerdns/files/patch-pdns_auth-main.cc b/dns/powerdns/files/patch-pdns_auth-main.cc index e3b3fe86fe2a..f99168245671 100644 --- a/dns/powerdns/files/patch-pdns_auth-main.cc +++ b/dns/powerdns/files/patch-pdns_auth-main.cc @@ -1,13 +1,13 @@ ---- pdns/auth-main.cc.orig 2025-08-22 07:51:37 UTC +--- pdns/auth-main.cc.orig 2026-06-29 19:18:24 UTC +++ pdns/auth-main.cc -@@ -282,8 +282,8 @@ static void declareArguments() +@@ -294,8 +294,8 @@ static void declareArguments() ::arg().setSwitch("no-shuffle", "Set this to prevent random shuffling of answers - for regression testing") = "off"; - ::arg().set("setuid", "If set, change user id to this uid for more security") = ""; - ::arg().set("setgid", "If set, change group id to this gid for more security") = ""; + ::arg().set("setuid", "If set, change user id to this uid for more security") = "pdns"; + ::arg().set("setgid", "If set, change group id to this gid for more security") = "pdns"; ::arg().set("max-cache-entries", "Maximum number of entries in the query cache") = "1000000"; ::arg().set("max-packet-cache-entries", "Maximum number of entries in the packet cache") = "1000000";