Module: check_mk
Branch: master
Commit: f9740335400ce767154f190d4b5388c62707a0fc
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f9740335400ce7…
Author: Marcel Arentz <ma(a)mathias-kettner.de>
Date: Wed Sep 20 11:42:23 2017 +0200
5017 FIX check_mk_agent: Fixed false positive error messages while installing rpm from
bakery
Previously a rpm package of the linux agent assumed sysvinit while checking for
xinetd to be installed. The check failed if systemd was the init system. This
affects only rpm packages built by agent bakery.
Now the rpm packages verifies the presence of xinetd by looking for the
presence of the binary (/usr/sbin/xinetd) which seems to be less error-prone.
Change-Id: I03b2ed41d5da7d1e6c49e9c501a3d5971a263a59
---
.werks/5017 | 15 +++++++++++++++
agents/check-mk-agent.spec | 10 ++++------
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/.werks/5017 b/.werks/5017
new file mode 100644
index 0000000..2062999
--- /dev/null
+++ b/.werks/5017
@@ -0,0 +1,15 @@
+Title: check_mk_agent: Fixed false positive error messages while installing rpm from
bakery
+Level: 1
+Component: agents
+Compatible: compat
+Edition: cee
+Version: 1.5.0i1
+Date: 1505899691
+Class: fix
+
+Previously a rpm package of the linux agent assumed sysvinit while checking for
+xinetd to be installed. The check failed if systemd was the init system. This
+affects only rpm packages built by agent bakery.
+
+Now the rpm packages verifies the presence of xinetd by looking for the
+presence of the binary (/usr/sbin/xinetd) which seems to be less error-prone.
diff --git a/agents/check-mk-agent.spec b/agents/check-mk-agent.spec
index 6c3d1b1..a73f911 100644
--- a/agents/check-mk-agent.spec
+++ b/agents/check-mk-agent.spec
@@ -81,17 +81,16 @@ rm -rf $RPM_BUILD_ROOT
/usr/lib/check_mk_agent
/var/lib/check_mk_agent
-%define reload_xinetd if [ -x /etc/init.d/xinetd ] ; then if pgrep -x xinetd
>/dev/null ; then echo "Reloading xinetd..." ; /etc/init.d/xinetd reload ;
else echo "Starting xinetd..." ; /etc/init.d/xinetd start ; fi ; fi
+%define reload_xinetd if which xinetd >/dev/null 2>&1 ; then if pgrep -x xinetd
>/dev/null ; then echo "Reloading xinetd..." ; service xinetd reload ; else
echo "Starting xinetd..." ; service xinetd start ; fi ; fi
-%define reload_xinetd_systemd if [ ! -x /etc/init.d/xinetd ] && [ -x
/usr/sbin/xinetd ]; then if pgrep -x xinetd >/dev/null ; then echo "Reloading
xinetd..." ; service xinetd reload ; else echo "Starting xinetd..." ;
service init.d/xinetd start ; fi ; fi
+%define activate_xinetd if which xinetd >/dev/null 2>&1 && which
chkconfig >/dev/null 2>&1 ; then echo "Activating startscript of
xinetd" ; chkconfig xinetd on ; fi
-%define activate_xinetd if [ -x /usr/bin/xinetd ] && [ which chkconfig
>/dev/null 2>&1 ] ; then echo "Activating startscript of xinetd" ;
chkconfig xinetd on ; fi
%define cleanup_rpmnew if [ -f /etc/xinetd.d/check_mk.rpmnew ] ; then rm
/etc/xinetd.d/check_mk.rpmnew ; fi
-%define systemd_enable if [ -x /usr/bin/systemctl ] && [ ! -x /usr/sbin/xinetd ]
; then echo "Enable Check_MK_Agent in systemd..." ; systemctl enable
check_mk.socket ; systemctl restart sockets.target ; fi
+%define systemd_enable if which systemctl >/dev/null 2>&1 && ! which
xinetd >/dev/null 2>&1 ; then echo "Enable Check_MK_Agent in
systemd..." ; systemctl enable check_mk.socket ; systemctl restart sockets.target ;
fi
%pre
-if [ ! -x /usr/sbin/xinetd ] && [ ! -x /usr/bin/systemctl ] ; then
+if ! which xinetd >/dev/null 2>&1 && ! which systemctl >/dev/null
2>&1 ; then
echo
echo "---------------------------------------------"
echo "WARNING"
@@ -111,7 +110,6 @@ fi
%cleanup_rpmnew
%activate_xinetd
%reload_xinetd
-%reload_xinetd_systemd
%systemd_enable
%postun