summaryrefslogtreecommitdiff
path: root/doc/ipmiutil.spec
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ipmiutil.spec')
-rw-r--r--doc/ipmiutil.spec87
1 files changed, 56 insertions, 31 deletions
diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec
index 3587484..5d80dab 100644
--- a/doc/ipmiutil.spec
+++ b/doc/ipmiutil.spec
@@ -3,7 +3,7 @@
# Copyright (c) 2012 Andy Cress
#
Name: ipmiutil
-Version: 3.1.3
+Version: 3.1.4
Release: 1%{?dist}
Summary: Easy-to-use IPMI server management utilities
License: BSD
@@ -207,17 +207,19 @@ rm -rf %{buildroot}
%post
/sbin/ldconfig
# POST_INSTALL, $1 = 1 if rpm -i, $1 = 2 if rpm -U
-if [ "$1" = "1" ]
-then
- # doing rpm -i, first time
- vardir=%{_var}/lib/%{name}
- scr_dir=%{_datadir}/%{name}
+vardir=%{_var}/lib/%{name}
+scr_dir=%{_datadir}/%{name}
+# Install right scripts/service files no matter install or upgrade
%if 0%{?req_systemd}
%service_add_post ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
%else
if [ -x /bin/systemctl ] && [ -d %{unit_dir} ]; then
- echo "IINITDIR=%{init_dir}" >>%{_datadir}/%{name}/ipmiutil.env
+ # Replace if exists, append if not.
+ # Use # as the sed delimiter to prevent handling slash in the path.
+ grep -q 'IINITDIR' %{_datadir}/%{name}/ipmiutil.env \
+ && sed -i 's#^IINITDIR=.*#IINITDIR=%{init_dir}#' %{_datadir}/%{name}/ipmiutil.env \
+ || echo "IINITDIR=%{init_dir}" >> %{_datadir}/%{name}/ipmiutil.env
cp -f ${scr_dir}/ipmiutil_evt.service %{unit_dir}
cp -f ${scr_dir}/ipmiutil_asy.service %{unit_dir}
cp -f ${scr_dir}/ipmiutil_wdt.service %{unit_dir}
@@ -232,6 +234,8 @@ then
fi
%endif
+if [ "$1" = "1" ]
+then
# Test whether an IPMI interface is known to the motherboard
IPMIret=1
which dmidecode >/dev/null 2>&1 && IPMIret=0
@@ -290,7 +294,7 @@ else
fi
fi
fi
-%if 0%{?fedora} >= 18
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%systemd_post ipmiutil_evt.service
%systemd_post ipmiutil_asy.service
%systemd_post ipmiutil_wdt.service
@@ -306,12 +310,15 @@ then
%else
if [ -x /bin/systemctl ]; then
if [ -f %{unit_dir}/ipmiutil_evt.service ]; then
-%if 0%{?fedora} >= 18
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%systemd_preun ipmiutil_evt.service
%systemd_preun ipmiutil_asy.service
%systemd_preun ipmiutil_wdt.service
%systemd_preun ipmi_port.service
%else
+ ret=1
+ which systemctl >/dev/null 2>&1 && ret=0
+ if [ $ret -eq 0 ]; then
systemctl disable ipmi_port.service >/dev/null 2>&1 || :
systemctl disable ipmiutil_evt.service >/dev/null 2>&1 || :
systemctl disable ipmiutil_asy.service >/dev/null 2>&1 || :
@@ -320,6 +327,7 @@ then
systemctl stop ipmiutil_asy.service >/dev/null 2>&1 || :
systemctl stop ipmiutil_wdt.service >/dev/null 2>&1 || :
systemctl stop ipmi_port.service >/dev/null 2>&1 || :
+ fi
%endif
fi
else
@@ -345,36 +353,53 @@ fi
%postun
# after uninstall, $1 = 1 if update, $1 = 0 if rpm -e
/sbin/ldconfig
+# Remove files from scr_dir only when uninstall
+if [ "$1" = "0" ]
+then
+ if [ -x /bin/systemctl ] && [ -d %{unit_dir} ]; then
+ if [ -f %{unit_dir}/ipmiutil_evt.service ]; then
+ rm -f %{unit_dir}/ipmiutil_evt.service 2>/dev/null || :
+ rm -f %{unit_dir}/ipmiutil_asy.service 2>/dev/null || :
+ rm -f %{unit_dir}/ipmiutil_wdt.service 2>/dev/null || :
+ rm -f %{unit_dir}/ipmi_port.service 2>/dev/null || :
+ fi
+ else
+ if [ -f %{init_dir}/ipmiutil_evt.service ]; then
+ rm -f %{init_dir}/ipmiutil_wdt 2>/dev/null || :
+ rm -f %{init_dir}/ipmiutil_asy 2>/dev/null || :
+ rm -f %{init_dir}/ipmiutil_evt 2>/dev/null || :
+ rm -f %{init_dir}/ipmi_port 2>/dev/null || :
+ fi
+ fi
+fi
+
%if 0%{?req_systemd}
%service_del_postun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
%else
-if [ -x /bin/systemctl ]; then
-%if 0%{?fedora} >= 18
-%systemd_postun_with_restart ipmi_port.service
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
+%systemd_postun_with_restart ipmi_port.service
+%systemd_postun_with_restart ipmiutil_evt.service
+%systemd_postun_with_restart ipmiutil_asy.service
+%systemd_postun_with_restart ipmiutil_wdt.service
%else
- systemctl daemon-reload || :
- if [ $1 -ge 1 ] ; then
- # Package upgrade, not uninstall
- systemctl try-restart ipmi_port.service || :
- fi
-%endif
- if [ -f %{unit_dir}/ipmiutil_evt.service ]; then
- rm -f %{unit_dir}/ipmiutil_evt.service 2>/dev/null || :
- rm -f %{unit_dir}/ipmiutil_asy.service 2>/dev/null || :
- rm -f %{unit_dir}/ipmiutil_wdt.service 2>/dev/null || :
- rm -f %{unit_dir}/ipmi_port.service 2>/dev/null || :
- fi
-else
- if [ -f %{init_dir}/ipmiutil_evt.service ]; then
- rm -f %{init_dir}/ipmiutil_wdt 2>/dev/null || :
- rm -f %{init_dir}/ipmiutil_asy 2>/dev/null || :
- rm -f %{init_dir}/ipmiutil_evt 2>/dev/null || :
- rm -f %{init_dir}/ipmi_port 2>/dev/null || :
- fi
+ret=1
+which systemctl >/dev/null 2>&1 && ret=0
+if [ $ret -eq 0 ]; then
+ systemctl daemon-reload || :
+ if [ $1 -ge 1 ]; then
+ # Package upgrade, not uninstall
+ systemctl try-restart ipmi_port.service || :
+ systemctl try-restart ipmiutil_evt.service || :
+ systemctl try-restart ipmiutil_asy.service || :
+ systemctl try-restart ipmiutil_wdt.service || :
+ fi
fi
%endif
+%endif
%changelog
+* Mon Oct 29 2018 Andrew Cress <arcress at users.sourceforge.net> 3.1.3-1
+- clean up systemd scripts with macros, fix update for systemd (Aska Wu)
* Fri Jul 20 2018 Andrew Cress <arcress at users.sourceforge.net> 3.1.2-1
- resolve doubly-defined Group for Fedora
* Mon Jun 29 2015 Andrew Cress <arcress at users.sourceforge.net> 2.9.7-1