diff options
Diffstat (limited to 'net-dns/pdns')
-rw-r--r-- | net-dns/pdns/Manifest | 6 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns-r1 | 18 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.4.0-r100.ebuild | 169 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.4.1.ebuild | 6 |
4 files changed, 16 insertions, 183 deletions
diff --git a/net-dns/pdns/Manifest b/net-dns/pdns/Manifest index 2b5ad585cefd..0fc0214719da 100644 --- a/net-dns/pdns/Manifest +++ b/net-dns/pdns/Manifest @@ -1,7 +1,5 @@ AUX dnsdomain2.schema 6640 BLAKE2B d3efc6bc16390f35979f1184632e7184cf403453422888e2cb44fa4fed7891241919a39c8c6f539a61de032654650a45ea548a6983777ea1bfe029e817f2c315 SHA512 ac16f8d528d6138d3c2cbf997fd8fbb467d388aa63eb6ed4e7780a3dad11ea885b91252ff0809b1d2cf7d5200814b8963aab890af84741ea86d35b2f5955a7ea -AUX pdns-r1 2535 BLAKE2B 4e718bbba73b20a86dd11acc07ce91d259d82a3fc3e6133cac0d7fb2b24d2b5ff3e3596d00c4289017845c7a1751d0a43e83ba67e4b8e55e10aca892ba3d3aea SHA512 5ebc7cd236195543e67db5ed2c831ff6a1b9bdba5a72c179df72f84e4ade2dfc962a988ab02a7b893c62a7c3d8df7a15e2de3ae02413ff296a6404a7937eb8de -DIST pdns-4.4.0.tar.bz2 1270854 BLAKE2B 2c855197d0b5f8fc141e4fa19268e68b9114353c7f89157023b9cd6b9559e788b55a9b0eeebea55d4ba0a206229d9c032f0c84c40ffd91c7277eb611a4bc966a SHA512 e7f35539915ee7945b537cfedae72e2b83c86b39c5e44a9268b8a086f44b30a33a64e0b65aad140ba02c349cedaa12820226578dea87c9b666dc75f8bd15c1f6 +AUX pdns-r1 2815 BLAKE2B cd607cb30a94540eca9cfa2defb7c996f6e151875fcaad8ad3357261937868bc346962f1080ad45a0ef38c2dfc126eb11e41837ee0784f677d1e7c071589a057 SHA512 4c0442d8d92d95268d4971f80782d2772e2a22c43da00566a9328c79a834e4355b2610d133034351d7137ed6cd7fda300f3db8093b09d5852cea44d983de1e39 DIST pdns-4.4.1.tar.bz2 1276990 BLAKE2B 9771cf3273ab7e8ab4607a91563bfe0dc3f4532b5420861d816eacd2798d66de3a1eb824c191264f9106ec47bd6003d99108b8df678190055948779b9b3b070f SHA512 a6f31972f77ded8ecfb523e8810dd90e5b7aa628746fee2a9a0daae2a7935800f111ce8617ffd71d5ce3881947d4ffc36c9cb37996a7bcc514536bb4abe1f79e -EBUILD pdns-4.4.0-r100.ebuild 4509 BLAKE2B 856dc394f10dc1061beb849d3750039032cb2948dddf31eb58ccdd4e5b292d469ee612f43203406c5e9f13320e8a35a7f164c7f0dd3987088d10e3f48c09c027 SHA512 1af31ad6a37da79847e341bac25d90b106da6c42e2455be511f22ff74b09577dcef4fc6a929a1c031803e11f3a91ab8a3f77373f69eb0215c46aa6453d81130b -EBUILD pdns-4.4.1.ebuild 4509 BLAKE2B 856dc394f10dc1061beb849d3750039032cb2948dddf31eb58ccdd4e5b292d469ee612f43203406c5e9f13320e8a35a7f164c7f0dd3987088d10e3f48c09c027 SHA512 1af31ad6a37da79847e341bac25d90b106da6c42e2455be511f22ff74b09577dcef4fc6a929a1c031803e11f3a91ab8a3f77373f69eb0215c46aa6453d81130b +EBUILD pdns-4.4.1.ebuild 4328 BLAKE2B 12da4dca63939766d5511fc8de7a1fd746fa27089062db72c88663ea465ed00aab3214fbab324088b6a04300838f99f23a212209e9cd3d4f4ef266833175a0e3 SHA512 07cd6c982308d7dec13a676de3baa2781216e5a92417741faa2736f627c83c8af6016c4b6f427593ed86f2d76bc224473501284a4daaa2d51d2e0c16efa8a801 MISC metadata.xml 1111 BLAKE2B 5a55e94593f1c010f9ee71fa2d3bc887a0eddc8627db36a1792b911a1cfe3fa3d5a33923b95d18a02f36097717d76ed2aae711c2deb793625b1186090ad072c8 SHA512 c010bbd0daa87980a4d9f164fc3d15239251890e56c63b1165d55a92b9c0f24e5f141439bdfc13b4efa4483e0fc199cd6107e2f152d26d4ca954f4c3d0cc4913 diff --git a/net-dns/pdns/files/pdns-r1 b/net-dns/pdns/files/pdns-r1 index 4c5241e5155f..eeff5a08f634 100644 --- a/net-dns/pdns/files/pdns-r1 +++ b/net-dns/pdns/files/pdns-r1 @@ -1,15 +1,21 @@ #!/sbin/openrc-run -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +get_config_option() { + awk -v option="${1}" -F = '$1 == option { print $2 }' "${PDNS_CONFIG}" +} + PDNS_CONFIGDIR="${PDNS_CONFIGDIR:-/etc/powerdns}" PDNS_STOP_TIMEOUT="${PDNS_STOP_TIMEOUT:-10}" [ "${RC_SVCNAME}" != "pdns" ] && PDNS_INSTANCE="${RC_SVCNAME#pdns[.-]}" || PDNS_INSTANCE="" PDNS_CONFIG="${PDNS_CONFIGDIR}/pdns${PDNS_INSTANCE:+-${PDNS_INSTANCE}}.conf" -PDNS_CHROOTDIR="$( awk -F = '$1 == "chroot" { print $2 }' "${PDNS_CONFIG}" )" -PDNS_SOCKETDIR="$( awk -F = '$1 == "socket-dir" { print $2 }' "${PDNS_CONFIG}" )" +PDNS_CHROOTDIR="$( get_config_option chroot )" +PDNS_SOCKETDIR="$( get_config_option socket-dir )" +PDNS_SETUID="$( get_config_option setuid )" +PDNS_SETGID="$( get_config_option setgid )" [ -z "${PDNS_SOCKETDIR}" -a -z "${PDNS_CHROOTDIR}" ] && PDNS_SOCKETDIR="/var/run/pdns" name="PowerDNS Authoritative Server${PDNS_INSTANCE:+ (${PDNS_INSTANCE})}" @@ -22,7 +28,7 @@ description_ping="Ping the PowerDNS instance" description_monitor="Starts in foreground with logging and console enabled" command="/usr/sbin/pdns_server" -command_args="--config-dir=${PDNS_CONFIGDIR}${PDNS_INSTANCE:+ --config-name=${PDNS_INSTANCE}}" +command_args="--config-dir=${PDNS_CONFIGDIR}${PDNS_INSTANCE:+ --config-name=${PDNS_INSTANCE}} --write-pid=yes" command_args_foreground="--daemon=no" command_args_background="--daemon=yes" yesno ${rc_verbose} || command_args_background="${command_args_background} >/dev/null 2>&1" @@ -42,6 +48,10 @@ status() { _ping || return 32 } +start_pre() { + checkpath --directory --owner "${PDNS_SETUID:-root}:${PDNS_SETGID:-root}" --mode 750 "${PDNS_CHROOTDIR}/${PDNS_SOCKETDIR}" +} + stop() { default_stop || return _ping || return 0 diff --git a/net-dns/pdns/pdns-4.4.0-r100.ebuild b/net-dns/pdns/pdns-4.4.0-r100.ebuild deleted file mode 100644 index b37e0944e77c..000000000000 --- a/net-dns/pdns/pdns-4.4.0-r100.ebuild +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..4} luajit ) - -inherit lua-single - -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" - -# other possible flags: -# db2: we lack the dep -# oracle: dito (need Oracle Client Libraries) -# xdb: (almost) dead, surely not supported - -IUSE="debug doc geoip ldap lua-records mydns mysql postgres protobuf remote sodium sqlite systemd tools tinydns test" -RESTRICT="!test? ( test )" - -REQUIRED_USE="${LUA_REQUIRED_USE} - mydns? ( mysql )" - -DEPEND="${LUA_DEPS} - dev-libs/openssl:= - >=dev-libs/boost-1.35:= - 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 ) - 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 ) - protobuf? ( dev-libs/protobuf )" -RDEPEND="${DEPEND} - acct-user/pdns - acct-group/pdns" - -BDEPEND="virtual/pkgconfig - doc? ( app-doc/doxygen )" - -S="${WORKDIR}"/${P/_/-} - -src_configure() { - local dynmodules="pipe bind" # the default backends, always enabled - - #use db2 && dynmodules+=" db2" - use ldap && dynmodules+=" ldap" - use mydns && dynmodules+=" mydns" - use mysql && dynmodules+=" gmysql" - #use oracle && dynmodules+=" goracle oracle" - use postgres && dynmodules+=" gpgsql" - use remote && dynmodules+=" remote" - use sqlite && dynmodules+=" gsqlite3" - use tinydns && dynmodules+=" tinydns" - use geoip && dynmodules+=" geoip" - #use xdb && dynmodules+=" xdb" - - econf \ - --disable-static \ - --sysconfdir=/etc/powerdns \ - --libdir=/usr/$(get_libdir)/powerdns \ - --with-service-user=pdns \ - --with-service-group=pdns \ - --with-modules= \ - --with-dynmodules="${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) \ - $(use_with protobuf) \ - ${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 use ldap ; then - echo - ewarn "The official LDAP backend module is only compile-tested by upstream." - ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." - fi - - 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 -} diff --git a/net-dns/pdns/pdns-4.4.1.ebuild b/net-dns/pdns/pdns-4.4.1.ebuild index b37e0944e77c..9fbdd03b8c85 100644 --- a/net-dns/pdns/pdns-4.4.1.ebuild +++ b/net-dns/pdns/pdns-4.4.1.ebuild @@ -130,12 +130,6 @@ pkg_postinst() { 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 use ldap ; then - echo - ewarn "The official LDAP backend module is only compile-tested by upstream." - ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." - fi - local old for old in ${REPLACING_VERSIONS}; do ver_test ${old} -lt 3.2 || continue |