[Libvirt-cim] [PATCH] Add OS version check to decide use service or systemctl command

Xu Wang cngesaint at gmail.com
Thu Jul 25 07:52:36 UTC 2013


Only when version of Fedora more than/equal with 17 or version of
RHEL more than/equal with 7, the system could use systemd to manage
services. Except above systems only "service" command could be used
instead of systemctl. This patch checks system version before restart
service after installation finished and decide which command to be
used to avoid "systemctl: Command not found" error happened on some
system such as RHEL6.4.

Signed-off-by: Xu Wang <cngesaint at gmail.com>
---
 libvirt-cim.spec.in |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/libvirt-cim.spec.in b/libvirt-cim.spec.in
index d024c59..7b6221e 100644
--- a/libvirt-cim.spec.in
+++ b/libvirt-cim.spec.in
@@ -89,15 +89,19 @@ rm -fr $RPM_BUILD_ROOT
 
 %{_datadir}/%{name}/install_base_schema.sh %{_datadir}/%{name}
 
-if [ "`systemctl is-active tog-pegasus.service`" = "active" ]
-then
-    systemctl restart tog-pegasus.service
-fi
-
-if [ "`systemctl is-active sblim-sfcb.service`" = "active" ]
-then
-    systemctl restart sblim-sfcb.service
-fi
+%if 0%{?Fedora} >= 17 || 0%{?rhel} >= 7
+    if [ "`systemctl is-active tog-pegasus.service`" = "active" ]
+    then
+        systemctl restart tog-pegasus.service
+    fi
+
+    if [ "`systemctl is-active sblim-sfcb.service`" = "active" ]
+    then
+        systemctl restart sblim-sfcb.service
+    fi
+%else
+    /etc/init.d/tog-pegasus condrestart
+%endif
 
 if [ -x /usr/sbin/cimserver ]
 then
-- 
1.7.1




More information about the Libvirt-cim mailing list