summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2017-05-23 14:57:37 +0200
committerLars Wendler <polynomial-c@gentoo.org>2017-05-23 14:57:51 +0200
commit934a6a343e87590f1031ec4d24ff76a042a5555a (patch)
treea1bda6aca0affc2acf08d6cccff200dae649f537 /net-misc/kea
parentapp-editors/nvi: fixed for and marked ~x64-macos (diff)
downloadgentoo-934a6a343e87590f1031ec4d24ff76a042a5555a.tar.gz
gentoo-934a6a343e87590f1031ec4d24ff76a042a5555a.tar.bz2
gentoo-934a6a343e87590f1031ec4d24ff76a042a5555a.zip
net-misc/kea: Revbump to add an openrc init script.
Permission kindly granted by Chainsaw. Package-Manager: Portage-2.3.6, Repoman-2.3.2
Diffstat (limited to 'net-misc/kea')
-rw-r--r--net-misc/kea/files/kea-confd4
-rw-r--r--net-misc/kea/files/kea-initd78
-rw-r--r--net-misc/kea/kea-1.2.0-r1.ebuild (renamed from net-misc/kea/kea-1.2.0.ebuild)18
3 files changed, 93 insertions, 7 deletions
diff --git a/net-misc/kea/files/kea-confd b/net-misc/kea/files/kea-confd
new file mode 100644
index 000000000000..568468eb3a1d
--- /dev/null
+++ b/net-misc/kea/files/kea-confd
@@ -0,0 +1,4 @@
+# Which services should be taken into account?
+DHCP4="true"
+DHCP6="false"
+DDNS="false"
diff --git a/net-misc/kea/files/kea-initd b/net-misc/kea/files/kea-initd
new file mode 100644
index 000000000000..85fdd56b9ec2
--- /dev/null
+++ b/net-misc/kea/files/kea-initd
@@ -0,0 +1,78 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="kea dhcp services"
+
+dhcp4_command="/usr/sbin/kea-dhcp4"
+dhcp6_command="/usr/sbin/kea-dhcp6"
+ddns_command="/usr/sbin/kea-dhcp-ddns"
+config_file="/etc/kea/kea.conf"
+dhcp4_pidfile="/run/kea-dhcp4.pid"
+dhcp6_pidfile="/run/kea-dhcp6.pid"
+ddns_pidfile="/run/kea-ddns.pid"
+
+depend() {
+ use net
+}
+
+start_pre() {
+ if [ ! -f "${config_file}" ] ; then
+ eerror "Please create a ${config_file} config file."
+ return 1
+ fi
+
+ if ${DHCP4:-false} ; then
+ if ! ${dhcp4_command} -t ${config_file} 1>/dev/null 2>/dev/null ; then
+ eerror "Error in config file."
+ return 1
+ fi
+ fi
+ if ${DHCP6:-false} ; then
+ if ! ${dhcp6_command} -t ${config_file} 1>/dev/null 2>/dev/null ; then
+ eerror "Error in config file."
+ return 1
+ fi
+ fi
+ if ${DDNS:-false} ; then
+ if ! ${ddns_command} -t ${config_file} 1>/dev/null 2>/dev/null ; then
+ eerror "Error in config file."
+ return 1
+ fi
+ fi
+}
+
+start() {
+ einfo "Starting kea dhcp services"
+ if ${DHCP4:-false} ; then
+ start-stop-daemon -m -b -p ${dhcp4_pidfile} \
+ -x ${dhcp4_command} -- -c ${config_file} \
+ || return 1
+ fi
+ if ${DHCP6:-false} ; then
+ start-stop-daemon -m -b -p ${dhcp6_pidfile} \
+ -x ${dhcp6_command} -- -c ${config_file} \
+ || return 1
+ fi
+ if ${DDNS:-false} ; then
+ start-stop-daemon -m -b -p ${ddns_pidfile} \
+ -x ${ddns_command} -- -c ${config_file} \
+ || return 1
+ fi
+}
+
+stop() {
+ einfo "Stopping kea dhcp services"
+ if ${DHCP4:-false} ; then
+ start-stop-daemon --stop -p ${dhcp4_pidfile} \
+ || return 1
+ fi
+ if ${DHCP6:-false} ; then
+ start-stop-daemon --stop -p ${dhcp6_pidfile} \
+ || return 1
+ fi
+ if ${DDNS:-false} ; then
+ start-stop-daemon --stop -p ${ddns_pidfile} \
+ || return 1
+ fi
+}
diff --git a/net-misc/kea/kea-1.2.0.ebuild b/net-misc/kea/kea-1.2.0-r1.ebuild
index 6fd498785874..994aa39c6e42 100644
--- a/net-misc/kea/kea-1.2.0.ebuild
+++ b/net-misc/kea/kea-1.2.0-r1.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=6
-inherit eutils toolchain-funcs user
+inherit toolchain-funcs user
MY_PV="${PV//_alpha/a}"
MY_PV="${MY_PV//_beta/b}"
@@ -40,16 +40,20 @@ src_prepare() {
}
src_configure() {
- econf \
- $(use_with openssl) \
- $(use_enable samples install-configurations) \
- --disable-static \
+ local myeconfargs=(
+ $(use_with openssl)
+ $(use_enable samples install-configurations)
+ --disable-static
--without-werror
+ )
+ econf "${myeconfargs[@]}"
}
src_install() {
default
- prune_libtool_files --all
+ newconfd "${FILESDIR}"/${PN}-confd ${PN}
+ newinitd "${FILESDIR}"/${PN}-initd ${PN}
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
}
pkg_preinst() {