forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Sven Wegener <[email protected]>
- Loading branch information
Showing
2 changed files
with
166 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST pdns-4.8.3.tar.bz2 1336985 BLAKE2B 3de58d5e79ce5b13460d0b989c89d2d1740269ddac0c49289726d29edc183d0efeaf264424312a97fb3888086f4a271995b29dd95f8c969f7dd44965a2b47740 SHA512 a67a349a0484521e889c97ffdc2b2aa61a95507e3a05a7289127efcb75b43cfb4de3e14f3bf1cc73db9e487d2a8469c301b9f22d45758a4507fe65cef4600381 | ||
DIST pdns-4.8.4.tar.bz2 1334756 BLAKE2B b92a35ee3e76806bd24bd030428e74afae19a46333d2a444e2bb822300049f3be5afa260cbdadd435f45ba1cf160481c8ccd0bd386eeb4d2679498d650fb7bf7 SHA512 1e8ec7e5ba0c8d87d273eab866890d0fa999825f2ca50127c4337a627fb1aabc6a957608fc9e60b53d5fde8b76530dc08bda4463e62e642d9b1f74f6e097c774 | ||
DIST pdns-4.9.0.tar.bz2 1364768 BLAKE2B a018459b250f181686d2638e4487dfd18ef1173f20798039be1f8f6e7134399bada5a9bf2aab16004026630c175f363b22d7749fdbfb0b8601699b29db1b1ed2 SHA512 73dcad9a6cc80e5ca2bdd28f1c49b1acab463ec51cb181324536a566ab26ac3a236099bd4eb03fbe98748f798ad0e11270fb8e6d52a33ea106c8dd2d97013388 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
# Copyright 1999-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
LUA_COMPAT=( lua5-{1..4} luajit ) | ||
PYTHON_COMPAT=( python3_{10..12} ) | ||
|
||
inherit flag-o-matic 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 | ||
append-lfs-flags | ||
append-cppflags -D_TIME_BITS=64 | ||
} | ||
|
||
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 \ | ||
--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." | ||
|
||
local old | ||
for old in ${REPLACING_VERSIONS}; do | ||
ver_test ${old} -lt 3.2 || continue | ||
|
||
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} | ||
|
||
break | ||
done | ||
|
||
if use postgres; then | ||
for old in ${REPLACING_VERSIONS}; do | ||
ver_test ${old} -lt 4.1.11-r1 || continue | ||
|
||
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" | ||
|
||
break | ||
done | ||
fi | ||
} |