[ipmiutil/el6] Fix checksel without IPMI enabled, see bug # 752319
arcress
arcress at fedoraproject.org
Thu Nov 10 15:07:32 UTC 2011
commit 0ad547bd3c699620b80c8d7606beb6ac9387db25
Author: Andy Cress <arcress at users.sourceforge.net>
Date: Thu Nov 10 10:05:58 2011 -0500
Fix checksel without IPMI enabled, see bug # 752319
fix-checksel-without-ipmi.patch | 135 +++++++++++++++++++++++++++++++++++++++
ipmiutil.spec | 15 ++++-
2 files changed, 147 insertions(+), 3 deletions(-)
---
diff --git a/fix-checksel-without-ipmi.patch b/fix-checksel-without-ipmi.patch
new file mode 100644
index 0000000..83720eb
--- /dev/null
+++ b/fix-checksel-without-ipmi.patch
@@ -0,0 +1,135 @@
+--- a/doc/ipmiutil.spec 2011-10-28 16:23:37.000000000 -0400
++++ b/doc/ipmiutil.spec 2011-11-09 13:43:26.622318641 -0500
+@@ -62,7 +62,7 @@
+ %{_initrddir}/ipmiutil_asy
+ %{_initrddir}/ipmiutil_evt
+ %{_initrddir}/ipmi_port
+-%{_sysconfdir}/cron.daily/checksel
++%{_datadir}/%{name}/checksel
+ %{_datadir}/%{name}/ipmiutil_evt.service
+ %{_datadir}/%{name}/ipmiutil_asy.service
+ %{_datadir}/%{name}/ipmiutil_wdt.service
+@@ -123,11 +123,15 @@
+ fi
+
+ # Run some ipmiutil command to see if any IPMI interface works.
+- %{_sbindir}/ipmiutil wdt >/dev/null 2>&1
++ %{_sbindir}/ipmiutil sel -v >/dev/null 2>&1
+ IPMIret=$?
+
+ # If IPMIret==0, the IPMI cmd was successful, and IPMI is enabled locally.
+ if [ $IPMIret -eq 0 ]; then
++ # If IPMI is enabled, automate managing the IPMI SEL
++ if [ -d %{_sysconfdir}/cron.daily ]; then
++ cp -f %{_datadir}/%{name}/checksel %{_sysconfdir}/cron.daily
++ fi
+ # IPMI_IS_ENABLED, so enable services, but only if Red Hat
+ if [ -f /etc/redhat-release ]; then
+ if [ -x /sbin/chkconfig ]; then
+@@ -175,6 +179,9 @@
+ rm -f ${systemd_dir}/ipmiutil_wdt.service
+ rm -f ${systemd_dir}/ipmi_port.service
+ fi
++ if [ -f %{_sysconfdir}/cron.daily/checksel ]; then
++ rm -f %{_sysconfdir}/cron.daily/checksel
++ fi
+ fi
+ fi
+
+--- a/doc/Makefile.am 2011-10-04 10:10:06.000000000 -0400
++++ b/doc/Makefile.am 2011-11-09 13:42:02.961584488 -0500
+@@ -36,7 +36,6 @@
+ $(MKDIR) ${datato}
+ $(MKDIR) ${sbinto}
+ $(MKDIR) ${initto}
+- $(MKDIR) ${cronto}
+ $(MKDIR) ${varto}
+ ${INSTALL_DATA_SH} isel.8 ${manto}
+ ${INSTALL_DATA_SH} isensor.8 ${manto}
+@@ -65,11 +64,11 @@
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+ ${INSTALL_SCRIPT_SH} ipmi_if.sh ${datato}
+ ${INSTALL_SCRIPT_SH} evt.sh ${datato}
+- ${INSTALL_SCRIPT_SH} checksel ${cronto}
+ ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${initto}/ipmiutil_wdt
+ ${INSTALL_SCRIPT_SH} ipmiutil_asy ${initto}/ipmiutil_asy
+ ${INSTALL_SCRIPT_SH} ipmiutil_evt ${initto}/ipmiutil_evt
+ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${initto}/ipmi_port
++ ${INSTALL_SCRIPT_SH} checksel ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_wdt.service ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_asy.service ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_evt.service ${datato}
+--- a/doc/checksel 2011-10-04 10:10:06.000000000 -0400
++++ b/doc/checksel 2011-11-09 13:42:10.271068816 -0500
+@@ -14,12 +14,17 @@
+ # pdir=`echo $0 |sed -e "s/$app//"`
+ pdir=/usr/sbin
+ ddir=/var/lib/ipmiutil
+-$pdir/ipmiutil sel -w |grep "WARNING: free space"
+-if [ $? -eq 0 ]
+-then
+- today=`date +%y%m%d`
+- # The old SEL records are in syslog, but save a copy in $ddir also.
+- $pdir/ipmiutil sel -e >$ddir/ipmisel_${today}.txt
+- # Clear the IPMI SEL
+- $pdir/ipmiutil sel -c
++# First check to see if the IPMI SEL is enabled on this system.
++# If not, do nothing else.
++$pdir/ipmiutil sel -v >/dev/null 2>&1
++if [ $? -eq 0 ]; then
++ # Write new SEL events to syslog, and check if free space is low
++ $pdir/ipmiutil sel -w |grep "WARNING: free space"
++ if [ $? -eq 0 ]; then
++ today=`date +%y%m%d`
++ # The old SEL records are in syslog, but save a copy in $ddir also.
++ $pdir/ipmiutil sel -e >$ddir/ipmisel_${today}.txt
++ # Clear the IPMI SEL
++ $pdir/ipmiutil sel -c
++ fi
+ fi
+--- a/doc/Makefile.in 2011-10-04 10:10:22.000000000 -0400
++++ b/doc/Makefile.in 2011-11-10 08:57:38.617012357 -0500
+@@ -349,7 +349,6 @@
+ $(MKDIR) ${datato}
+ $(MKDIR) ${sbinto}
+ $(MKDIR) ${initto}
+- $(MKDIR) ${cronto}
+ $(MKDIR) ${varto}
+ ${INSTALL_DATA_SH} isel.8 ${manto}
+ ${INSTALL_DATA_SH} isensor.8 ${manto}
+@@ -378,11 +377,11 @@
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+ ${INSTALL_SCRIPT_SH} ipmi_if.sh ${datato}
+ ${INSTALL_SCRIPT_SH} evt.sh ${datato}
+- ${INSTALL_SCRIPT_SH} checksel ${cronto}
+ ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${initto}/ipmiutil_wdt
+ ${INSTALL_SCRIPT_SH} ipmiutil_asy ${initto}/ipmiutil_asy
+ ${INSTALL_SCRIPT_SH} ipmiutil_evt ${initto}/ipmiutil_evt
+ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${initto}/ipmi_port
++ ${INSTALL_SCRIPT_SH} checksel ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_wdt.service ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_asy.service ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_evt.service ${datato}
+--- a/doc/Makefile 2011-10-28 16:23:56.000000000 -0400
++++ b/doc/Makefile 2011-11-10 08:58:05.595318489 -0500
+@@ -349,7 +349,6 @@
+ $(MKDIR) ${datato}
+ $(MKDIR) ${sbinto}
+ $(MKDIR) ${initto}
+- $(MKDIR) ${cronto}
+ $(MKDIR) ${varto}
+ ${INSTALL_DATA_SH} isel.8 ${manto}
+ ${INSTALL_DATA_SH} isensor.8 ${manto}
+@@ -378,11 +377,11 @@
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+ ${INSTALL_SCRIPT_SH} ipmi_if.sh ${datato}
+ ${INSTALL_SCRIPT_SH} evt.sh ${datato}
+- ${INSTALL_SCRIPT_SH} checksel ${cronto}
+ ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${initto}/ipmiutil_wdt
+ ${INSTALL_SCRIPT_SH} ipmiutil_asy ${initto}/ipmiutil_asy
+ ${INSTALL_SCRIPT_SH} ipmiutil_evt ${initto}/ipmiutil_evt
+ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${initto}/ipmi_port
++ ${INSTALL_SCRIPT_SH} checksel ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_wdt.service ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_asy.service ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_evt.service ${datato}
diff --git a/ipmiutil.spec b/ipmiutil.spec
index 424c542..1688687 100644
--- a/ipmiutil.spec
+++ b/ipmiutil.spec
@@ -1,6 +1,6 @@
Name: ipmiutil
Version: 2.7.9
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: A package that provides easy-to-use IPMI server management utilities
License: BSD
Group: System/Management
@@ -9,6 +9,7 @@ URL: http://ipmiutil.sourceforge.net
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: openssl-devel gcc gcc-c++
Patch0: isensor-negative-margin.patch
+Patch1: fix-checksel-without-ipmi.patch
# Suggests: cron or vixie-cron or cronie or similar
%description
@@ -26,6 +27,7 @@ detected, ipmiutil will use user-space direct I/Os instead.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
%configure
@@ -64,7 +66,7 @@ make install DESTDIR=%{buildroot}
%{_initrddir}/ipmiutil_asy
%{_initrddir}/ipmiutil_evt
%{_initrddir}/ipmi_port
-%{_sysconfdir}/cron.daily/checksel
+%{_datadir}/%{name}/checksel
%{_datadir}/%{name}/ipmiutil_evt.service
%{_datadir}/%{name}/ipmiutil_asy.service
%{_datadir}/%{name}/ipmiutil_wdt.service
@@ -125,11 +127,15 @@ then
fi
# Run some ipmiutil command to see if any IPMI interface works.
- %{_sbindir}/ipmiutil wdt >/dev/null 2>&1
+ %{_sbindir}/ipmiutil sel -v >/dev/null 2>&1
IPMIret=$?
# If IPMIret==0, the IPMI cmd was successful, and IPMI is enabled locally.
if [ $IPMIret -eq 0 ]; then
+ # If IPMI is enabled, automate managing the IPMI SEL
+ if [ -d %{_sysconfdir}/cron.daily ]; then
+ cp -f %{_datadir}/%{name}/checksel %{_sysconfdir}/cron.daily
+ fi
# IPMI_IS_ENABLED, so enable services, but only if Red Hat
if [ -f /etc/redhat-release ]; then
if [ -x /sbin/chkconfig ]; then
@@ -177,6 +183,9 @@ then
rm -f ${systemd_dir}/ipmiutil_wdt.service
rm -f ${systemd_dir}/ipmi_port.service
fi
+ if [ -f %{_sysconfdir}/cron.daily/checksel ]; then
+ rm -f %{_sysconfdir}/cron.daily/checksel
+ fi
fi
fi
More information about the scm-commits
mailing list