net-dns/pdns: add 4.9.11

Signed-off-by: Sven Wegener <swegener@gentoo.org>
This commit is contained in:
Sven Wegener 2025-10-15 16:17:49 +02:00
parent 724d50415d
commit 6781549734
No known key found for this signature in database
GPG Key ID: D1FE29EE7601521F
2 changed files with 154 additions and 0 deletions

View File

@ -1,3 +1,4 @@
DIST pdns-4.9.11.tar.bz2 1379056 BLAKE2B 1baf5855c83c7877bf0d924f8bbb5fc722d38d6300ae0c9642f69a5746fd57f8d679fb00fffd122c7c4350343af584c25523a6d2b24453f74deab1e54cae7135 SHA512 776771c4be3f3f64da9ed3299347048331a0257c7f1cc390b3a8be3eac587e053abd944c4600ac11db48aa13d73b8b7030d8baa778ff78d4043b06568a86c7b2
DIST pdns-4.9.8.tar.bz2 1363358 BLAKE2B 45ac3828dc31a2557d0961ba937fcf9a13c0eac061cdf85994706f965ce5108690f946f34c59fa9edefd4d965dcaa9d355af3c382f19441499376bbc22e57c47 SHA512 020117e4c289f465bfac9c56b4b1e1e295f82454c8038338d63b247d2ff100b97ae1946c5641950962e25d57579d7deb59fb034ef40188b8f7c77cc4d11110a1
DIST pdns-4.9.9.tar.bz2 1379076 BLAKE2B 32f046d3666832335240eefb6347dc74c0568abf89aa4d192fad4790783624608df529610abc82eed15d0df40c94dfc43f8e1336730c69d96f6abf8d702482a9 SHA512 e7375c90196fdfc5b9bb5ac5e9b0ba444f8db0072fd865c237384966ce3934533f51a1f824fc607090c1ac808ad4f413b7f6bba90c36e2e4f7c24da5575fd0fd
DIST pdns-5.0.0.tar.bz2 1432702 BLAKE2B c71db619c90446c22d41a88e424b9ec88b99040013e8a339a4957185725dc70450c5b20454ef4d47592b3ccea568396b06a01609fc42b9beda646013e34f3bb0 SHA512 580254aca3394f81a36038c8af62aa3b5bf4f3e09470a95f26374adde1b11eedeb5cb7cb560d5b98c19799aecd29be50873f53a81e4872d3ffbf4e5e506577d1

View File

@ -0,0 +1,153 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
PYTHON_COMPAT=( python3_{11..14} )
inherit eapi9-ver lua-single python-any-r1
DESCRIPTION="The PowerDNS Daemon"
HOMEPAGE="https://www.powerdns.com/"
SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug doc geoip ldap lmdb lua-records mysql odbc postgres remote sodium sqlite systemd tools tinydns test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${LUA_REQUIRED_USE}"
DEPEND="${LUA_DEPS}
dev-libs/openssl:=
dev-libs/boost:=
lmdb? ( >=dev-db/lmdb-0.9.29 )
lua-records? ( >=net-misc/curl-7.21.3 )
mysql? ( dev-db/mysql-connector-c:= )
postgres? ( dev-db/postgresql:= )
ldap? ( >=net-nds/openldap-2.0.27-r4:= app-crypt/mit-krb5 )
odbc? ( dev-db/unixODBC )
sqlite? ( dev-db/sqlite:3 )
geoip? ( >=dev-cpp/yaml-cpp-0.5.1:= dev-libs/geoip )
sodium? ( dev-libs/libsodium:= )
tinydns? ( >=dev-db/tinycdb-0.77 )
elibc_glibc? ( x86? ( >=sys-libs/glibc-2.34 ) )"
RDEPEND="${DEPEND}
acct-user/pdns
acct-group/pdns"
BDEPEND="${PYTHON_DEPS}
virtual/pkgconfig
doc? ( app-text/doxygen[dot] )"
S="${WORKDIR}"/${P/_/-}
pkg_setup() {
lua-single_pkg_setup
python-any-r1_pkg_setup
}
src_configure() {
local cnf_dynmodules="bind lua2 pipe" # the default backends, always enabled
use geoip && cnf_dynmodules+=" geoip"
use ldap && cnf_dynmodules+=" ldap"
use lmdb && cnf_dynmodules+=" lmdb"
use mysql && cnf_dynmodules+=" gmysql"
use odbc && cnf_dynmodules+=" godbc"
use postgres && cnf_dynmodules+=" gpgsql"
use remote && cnf_dynmodules+=" remote"
use sqlite && cnf_dynmodules+=" gsqlite3"
use tinydns && cnf_dynmodules+=" tinydns"
econf \
--enable-experimental-64bit-time_t-support-on-glibc \
--disable-static \
--sysconfdir=/etc/powerdns \
--libdir=/usr/$(get_libdir)/powerdns \
--with-service-user=pdns \
--with-service-group=pdns \
--with-modules= \
--with-dynmodules="${cnf_dynmodules}" \
--with-mysql-lib=/usr/$(get_libdir) \
--with-lua="${ELUA}" \
$(use_enable debug verbose-logging) \
$(use_enable lua-records) \
$(use_enable test unit-tests) \
$(use_enable tools) \
$(use_enable systemd) \
$(use_with sodium libsodium) \
${myconf}
}
src_compile() {
default
use doc && emake -C codedocs codedocs
}
src_install() {
default
mv "${D}"/etc/powerdns/pdns.conf{-dist,}
fperms 0700 /etc/powerdns
fperms 0600 /etc/powerdns/pdns.conf
# set defaults: setuid=pdns, setgid=pdns
sed -i \
-e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \
"${D}"/etc/powerdns/pdns.conf
newinitd "${FILESDIR}"/pdns-r1 pdns
keepdir /var/empty
if use doc; then
docinto html
dodoc -r codedocs/html/.
fi
# Install development headers
insinto /usr/include/pdns
doins pdns/*.hh
insinto /usr/include/pdns/backends/gsql
doins pdns/backends/gsql/*.hh
if use ldap ; then
insinto /etc/openldap/schema
doins "${FILESDIR}"/dnsdomain2.schema
fi
find "${D}" -name '*.la' -delete || die
}
pkg_postinst() {
elog "PowerDNS provides multiple instances support. You can create more instances"
elog "by symlinking the pdns init script to another name."
elog
elog "The name must be in the format pdns.<suffix> and PowerDNS will use the"
elog "/etc/powerdns/pdns-<suffix>.conf configuration file instead of the default."
if ver_replacing -lt 3.2; then
echo
ewarn "To fix a security bug (bug #458018) had the following"
ewarn "files/directories the world-readable bit removed (if set):"
ewarn " ${EPREFIX}/etc/powerdns"
ewarn " ${EPREFIX}/etc/powerdns/pdns.conf"
ewarn "Check if this is correct for your setup"
ewarn "This is a one-time change and will not happen on subsequent updates."
chmod o-rwx "${EPREFIX}"/etc/powerdns/{,pdns.conf}
fi
if use postgres && ver_replacing -lt 4.1.11-r1; then
echo
ewarn "PowerDNS 4.1.11 contains a security fix for the PostgreSQL backend."
ewarn "This security fix needs to be applied manually to the database schema."
ewarn "Please refer to the official security advisory for more information:"
ewarn
ewarn " https://doc.powerdns.com/authoritative/security-advisories/powerdns-advisory-2019-06.html"
fi
}