commit:     9179024f51643e2909a6d84049e69f887eabd9f9
Author:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 21 21:24:03 2018 +0000
Commit:     Matt Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Sat Jul 21 21:24:38 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9179024f

net-analyzer/icinga2: 2.9.0-r1 fix init script

Closes: https://bugs.gentoo.org/661490
Package-Manager: Portage-2.3.43, Repoman-2.3.10

 net-analyzer/icinga2/files/icinga2.initd-2         | 91 ++++++++++++++++++++++
 ...cinga2-2.9.0.ebuild => icinga2-2.9.0-r1.ebuild} |  2 +-
 net-analyzer/icinga2/icinga2-9999.ebuild           |  2 +-
 3 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/net-analyzer/icinga2/files/icinga2.initd-2 
b/net-analyzer/icinga2/files/icinga2.initd-2
new file mode 100644
index 00000000000..b12716d4d44
--- /dev/null
+++ b/net-analyzer/icinga2/files/icinga2.initd-2
@@ -0,0 +1,91 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+# Set defaults, see /etc/conf.d/icinga2 to override
+: ${DAEMON:=/usr/sbin/icinga2}
+: ${ICINGA2_CONFIG_FILE:=/etc/icinga2/icinga2.conf}
+: ${ICINGA2_RUN_DIR:=/run/icinga2}
+: ${ICINGA2_STATE_DIR:=/var/cache/icinga2}
+: ${ICINGA2_PID_FILE:=${ICINGA2_RUN_DIR}/icinga2.pid}
+: ${ICINGA2_CMD_DIR:=${ICINGA2_RUN_DIR}/cmd}
+: ${ICINGA2_LOG_DIR:=/var/log/icinga2}
+: ${ICINGA2_ERROR_LOG:=/var/log/icinga2/error.log}
+: ${ICINGA2_STARTUP_LOG:=/var/log/icinga2/startup.log}
+: ${ICINGA2_LOG:=/var/log/icinga2/icinga2.log}
+: ${ICINGA2_CACHE_DIR:=/var/cache/icinga2}
+: ${ICINGA2_USER:=icinga}
+: ${ICINGA2_GROUP:=icingacmd}
+: ${ICINGA2_COMMAND_GROUP:=icingacmd}
+
+ICINGA2_DAEMON_ARGS="daemon -c $ICINGA2_CONFIG_FILE -e $ICINGA2_ERROR_LOG -d"
+
+depend() {
+    need net
+}
+
+checkconfig() {
+    if [ ! -e "$ICINGA2_CONFIG_FILE" ]; then
+       ewarn "Config file '$ICINGA2_CONFIG_FILE' does not exist."
+       eend 1
+    fi
+
+    ICINGA2_USER=$($DAEMON variable get --current RunAsUser)
+    if [ $? != 0 ]; then
+        eerror "Could not fetch RunAsUser variable: '$ICINGA2_USER'."
+        return 1
+    fi
+    ICINGA2_GROUP=$($DAEMON variable get --current RunAsGroup)
+    if [ $? != 0 ]; then
+        eerror "Could not fetch RunAsGroup variable: '$ICINGA2_GROUP'."
+        return 1
+    fi
+
+    checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_RUN_DIR
+    checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_STATE_DIR
+    checkpath -d -m 2750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_CMD_DIR
+
+    if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -C > $ICINGA2_STARTUP_LOG 
2>&1; then
+        eerror "Icinga2 detected configuration errors. Check 
'$ICINGA2_STARTUP_LOG' for details."
+        return 1
+    fi
+}
+
+start() {
+    checkconfig || return 1
+
+    ebegin "Starting icinga2"
+    start-stop-daemon --start --exec "${DAEMON}" \
+        --pidfile "${ICINGA2_PID_FILE}" \
+        -- $ICINGA2_DAEMON_ARGS > $ICINGA2_STARTUP_LOG 2>&1
+    local retval=$?
+    if [ $retval -ne 0 ]; then
+        ewarn "Error starting icinga2. '$ICINGA2_STARTUP_LOG' for details."
+    fi
+    eend $retval
+}
+
+stop() {
+    ebegin "Stopping icinga2"
+    start-stop-daemon \
+        --stop \
+        --pidfile $ICINGA2_PID_FILE \
+        --retry "SIGTERM/15 SIGKILL/30" \
+        --progress
+    eend $?
+}
+
+reload() {
+    checkconfig || return 1
+
+    ebegin "Reloading icinga2"
+    start-stop-daemon --signal HUP --pidfile "$ICINGA2_PID_FILE"
+
+    local retval=$?
+    if [ $retval -ne 0 ]; then
+        ewarn "Error reloading icinga2."
+    fi
+    eend $retval
+}

diff --git a/net-analyzer/icinga2/icinga2-2.9.0.ebuild 
b/net-analyzer/icinga2/icinga2-2.9.0-r1.ebuild
similarity index 98%
rename from net-analyzer/icinga2/icinga2-2.9.0.ebuild
rename to net-analyzer/icinga2/icinga2-2.9.0-r1.ebuild
index 3085070c612..5911a041405 100644
--- a/net-analyzer/icinga2/icinga2-2.9.0.ebuild
+++ b/net-analyzer/icinga2/icinga2-2.9.0-r1.ebuild
@@ -107,7 +107,7 @@ src_install() {
 
        einstalldocs
 
-       newinitd "${FILESDIR}"/icinga2.initd icinga2
+       newinitd "${FILESDIR}"/icinga2.initd-2 icinga2
 
        if use mysql ; then
                docinto schema

diff --git a/net-analyzer/icinga2/icinga2-9999.ebuild 
b/net-analyzer/icinga2/icinga2-9999.ebuild
index 3085070c612..5911a041405 100644
--- a/net-analyzer/icinga2/icinga2-9999.ebuild
+++ b/net-analyzer/icinga2/icinga2-9999.ebuild
@@ -107,7 +107,7 @@ src_install() {
 
        einstalldocs
 
-       newinitd "${FILESDIR}"/icinga2.initd icinga2
+       newinitd "${FILESDIR}"/icinga2.initd-2 icinga2
 
        if use mysql ; then
                docinto schema

Reply via email to