net-dns/pdns-recursor: Update init script
authorSven Wegener <swegener@gentoo.org>
Sun, 14 May 2017 13:26:33 +0000 (13:26 +0000)
committerSven Wegener <swegener@gentoo.org>
Thu, 25 May 2017 15:04:46 +0000 (15:04 +0000)
Package-Manager: Portage-2.3.5, Repoman-2.3.2

net-dns/pdns-recursor/files/pdns-recursor-r1 [new file with mode: 0644]
net-dns/pdns-recursor/pdns-recursor-4.0.4-r1.ebuild [new file with mode: 0644]

diff --git a/net-dns/pdns-recursor/files/pdns-recursor-r1 b/net-dns/pdns-recursor/files/pdns-recursor-r1
new file mode 100644 (file)
index 0000000..57c9df1
--- /dev/null
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PDNS_CONFIGDIR="${PDNS_CONFIGDIR:-/etc/powerdns}"
+
+PDNS_CONFIG="${PDNS_CONFIGDIR}/recursor.conf"
+PDNS_CHROOTDIR="$( awk -F = '$1 == "chroot" { print $2 }' "${PDNS_CONFIG}" )"
+PDNS_SOCKETDIR="$( awk -F = '$1 == "socket-dir" { print $2 }' "${PDNS_CONFIG}" )"
+[ -z "${PDNS_SOCKETDIR}" -a -z "${PDNS_CHROOTDIR}" ] && PDNS_SOCKETDIR="/var/run"
+
+name="PowerDNS Recursor"
+description="Recursive name server"
+
+extra_started_commands="ping"
+description_ping="Ping the PowerDNS instance"
+
+command="/usr/sbin/pdns_recursor"
+command_args="--config-dir=${PDNS_CONFIGDIR}"
+command_args_foreground="--daemon=no"
+command_args_background="--daemon=yes"
+yesno ${rc_verbose} || command_args_background="${command_args_background} >/dev/null 2>&1"
+
+pidfile="${PDNS_CHROOTDIR}/${PDNS_SOCKETDIR}/pdns_recursor.pid"
+
+control_command="/usr/bin/rec_control"
+control_command_args="${command_args}"
+
+depend() {
+       need net
+}
+
+ping() {
+       ebegin "Pinging ${name}"
+       ${control_command} ${control_command_args} ping >/dev/null 2>&1
+       eend $?
+}
diff --git a/net-dns/pdns-recursor/pdns-recursor-4.0.4-r1.ebuild b/net-dns/pdns-recursor/pdns-recursor-4.0.4-r1.ebuild
new file mode 100644 (file)
index 0000000..b748e27
--- /dev/null
@@ -0,0 +1,75 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs flag-o-matic eutils versionator
+
+DESCRIPTION="The PowerDNS Recursor"
+HOMEPAGE="https://www.powerdns.com/"
+SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="lua luajit protobuf systemd"
+REQUIRED_USE="?? ( lua luajit )"
+
+DEPEND="lua? ( >=dev-lang/lua-5.1:= )
+       luajit? ( dev-lang/luajit:= )
+       protobuf? (
+               dev-libs/protobuf
+               >=dev-libs/boost-1.42
+       )
+       systemd? ( sys-apps/systemd:0= )
+       >=dev-libs/boost-1.35"
+RDEPEND="${DEPEND}
+       !<net-dns/pdns-2.9.20-r1"
+DEPEND="${DEPEND}
+       virtual/pkgconfig"
+
+S="${WORKDIR}"/${P/_/-}
+
+pkg_setup() {
+       filter-flags -ftree-vectorize
+}
+
+src_configure() {
+       econf \
+               --sysconfdir=/etc/powerdns \
+               $(use_enable systemd) \
+               $(use_with lua) \
+               $(use_with luajit) \
+               $(use_with protobuf)
+}
+
+src_install() {
+       default
+
+       mv "${D}"/etc/powerdns/recursor.conf{-dist,}
+
+       # set defaults: setuid=nobody, setgid=nobody
+       sed -i \
+               -e 's/^# set\([ug]\)id=$/set\1id=nobody/' \
+               -e 's/^# quiet=$/quiet=on/' \
+               -e 's/^# chroot=$/chroot=\/var\/lib\/powerdns/' \
+               "${D}"/etc/powerdns/recursor.conf
+
+       newinitd "${FILESDIR}"/pdns-recursor-r1 pdns-recursor
+
+       keepdir /var/lib/powerdns
+}
+
+pkg_postinst() {
+       local old
+
+       for old in ${REPLACING_VERSIONS}; do
+               version_compare ${old} 4.0.0-r1
+               [[ $? -eq 1 ]] || continue
+
+               ewarn "Starting with 4.0.0-r1 the init script has been renamed from precursor"
+               ewarn "to pdns-recursor, please update your runlevels accordingly."
+
+               break
+       done
+}