[ipmiutil/f16] patch for checksel without IPMI, bug #752319 patch for upstream bug 3429298 with Thermal Margin upda

arcress arcress at fedoraproject.org
Mon Nov 14 14:40:03 UTC 2011


commit 748a19485dad825dd7e5f12a4609912d7bc4c571
Author: Andy Cress <arcress at users.sourceforge.net>
Date:   Mon Nov 14 09:38:32 2011 -0500

    patch for checksel without IPMI, bug #752319
    patch for upstream bug 3429298 with Thermal Margin
    update to upstream ipmiutil-2.7.9

 .gitignore                      |    1 +
 fix-checksel-without-ipmi.patch |  135 +++++++++++++++++++++++++++++++++++++++
 ipmiutil-2.7.7.tar.gz           |  Bin 1506067 -> 0 bytes
 ipmiutil.spec                   |   61 ++++++++++++++++--
 isensor-negative-margin.patch   |   12 ++++
 sources                         |    2 +-
 6 files changed, 204 insertions(+), 7 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c35418e..93fe4b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ ipmiutil-2.6.8.tar.gz
 /ipmiutil-2.7.5.tar.gz
 /ipmiutil-2.7.6.tar.gz
 /ipmiutil-2.7.7.tar.gz
+/ipmiutil-2.7.9.tar.gz
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 e3ccc43..1688687 100644
--- a/ipmiutil.spec
+++ b/ipmiutil.spec
@@ -1,6 +1,6 @@
 Name: ipmiutil
-Version: 2.7.7
-Release: 1%{?dist}
+Version: 2.7.9
+Release: 3%{?dist}
 Summary: A package that provides easy-to-use IPMI server management utilities
 License: BSD
 Group: System/Management
@@ -8,6 +8,9 @@ Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
 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
 The ipmiutil package provides easy-to-use utilities to view the SEL,
@@ -23,6 +26,8 @@ detected, ipmiutil will use user-space direct I/Os instead.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
 %configure
@@ -61,7 +66,14 @@ 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
+%{_datadir}/%{name}/ipmi_port.service
+%{_datadir}/%{name}/ipmiutil.env
+%{_datadir}/%{name}/ipmiutil.pre
+%{_datadir}/%{name}/ipmiutil.setup
 %{_datadir}/%{name}/ipmi_if.sh
 %{_datadir}/%{name}/evt.sh
 %{_datadir}/%{name}/bmclanpet.mib
@@ -87,6 +99,7 @@ make install DESTDIR=%{buildroot}
 %{_mandir}/man8/ifwum.8*
 %{_mandir}/man8/ihpm.8*
 %{_mandir}/man8/isunoem.8*
+%{_mandir}/man8/idelloem.8*
 %{_mandir}/man8/iekanalyzer.8*
 %doc AUTHORS ChangeLog COPYING NEWS README TODO 
 %doc doc/UserGuide
@@ -101,13 +114,28 @@ if [ "$1" = "1" ]
 then
    # doing rpm -i, first time
    vardir=%{_var}/lib/%{name}
+   init_dir=%{_datadir}/%{name}
+
+   if [ -x /bin/systemctl ]; then
+        systemd_dir=%{_unitdir}
+	echo "IINITDIR=%{_initrddir}" >>%{_datadir}/%{name}/ipmiutil.env
+	# cp -f ${init_dir}/ipmiutil_evt.service ${systemd_dir}
+	# cp -f ${init_dir}/ipmiutil_asy.service ${systemd_dir}
+	# cp -f ${init_dir}/ipmiutil_wdt.service ${systemd_dir}
+	# cp -f ${init_dir}/ipmi_port.service    ${systemd_dir}
+	# systemctl enable ipmi_port.service
+   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
@@ -117,7 +145,7 @@ then
             /sbin/chkconfig --add ipmiutil_evt 
          fi
       fi
-
+   
       # Capture a snapshot of IPMI sensor data once now for later reuse.
       sensorout=$vardir/sensor_out.txt
       if [ ! -f $sensorout ]; then
@@ -142,12 +170,33 @@ then
      /sbin/chkconfig --del ipmiutil_asy >/dev/null 2>&1
      /sbin/chkconfig --del ipmiutil_evt >/dev/null 2>&1
    fi
+   if [ -x /bin/systemctl ]; then
+     systemd_dir=%{_unitdir}
+     if [ -f ${systemd_dir}/ipmiutil_evt.service ]; then
+	# systemctl disable ipmiutil_evt.service
+	systemctl stop ipmiutil_evt.service
+	systemctl stop ipmiutil_asy.service
+	systemctl stop ipmiutil_wdt.service
+	systemctl stop ipmi_port.service
+	rm -f ${systemd_dir}/ipmiutil_evt.service 
+	rm -f ${systemd_dir}/ipmiutil_asy.service 
+	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
 
 
 %changelog
-* Tue May 10 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.7-1
+* Tue Sep 13 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.8-1
+  added systemd scripts, added idelloem.8
+* Mon Jun 06 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.7-1
   add gcc,gcc-c++ to BuildRequires to detect broken build systems
+* Mon May 09 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.6-1
+  updated ipmiutil
 * Fri Nov 12 2010 Andrew Cress <arcress at users.sourceforge.net> 2.7.3-1
   updated package description
 * Fri Oct 15 2010 Andrew Cress <arcress at users.sourceforge.net> 2.7.1-1
diff --git a/isensor-negative-margin.patch b/isensor-negative-margin.patch
new file mode 100644
index 0000000..d3fd9e2
--- /dev/null
+++ b/isensor-negative-margin.patch
@@ -0,0 +1,12 @@
+--- a/util/isensor.c	2011-10-27 08:04:12.000000000 -0400
++++ b/util/isensor.c	2011-10-26 11:00:46.000000000 -0400
+@@ -1544,7 +1544,8 @@
+ 	if ((sdr->sens_units & 0xc0) == 0) {  /*unsigned*/
+ 		floatval = (double)raw;
+ 	} else {  /*signed*/
+-		signval = raw;
++		if (raw & 0x80) signval = (raw - 0x100);
++		else signval = raw;
+ 		floatval = (double)signval;
+ 	}
+ 	floatval *= (double) m;
diff --git a/sources b/sources
index 25fcb30..f5f7e3f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c782471c9289ccb5251a1c3fb0ae59c6  ipmiutil-2.7.7.tar.gz
+3e6bc1effe4aaeeb614de19538c343ec  ipmiutil-2.7.9.tar.gz


More information about the scm-commits mailing list