[ipmiutil/f17] update to upstream ipmiutil-2.8.2, includes bug fixes for 789702, 804723

arcress arcress at fedoraproject.org
Wed Mar 21 13:59:55 UTC 2012


commit 57425fc5503b3104d056e9b6645ccfd633de23c6
Author: Andy Cress <arcress at users.sourceforge.net>
Date:   Wed Mar 21 09:59:17 2012 -0400

    update to upstream ipmiutil-2.8.2, includes bug fixes for 789702,804723

 .gitignore                      |    1 +
 fix-checksel-without-ipmi.patch |  135 ----------------------------------
 ipmiutil.spec                   |  152 ++++++++++++++++++++++++++-------------
 isensor-negative-margin.patch   |   12 ---
 sources                         |    2 +-
 5 files changed, 104 insertions(+), 198 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 086f6a0..e94bc9f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ ipmiutil-2.6.8.tar.gz
 /ipmiutil-2.7.7.tar.gz
 /ipmiutil-2.7.8.tar.gz
 /ipmiutil-2.7.9.tar.gz
+/ipmiutil-2.8.2.tar.gz
diff --git a/ipmiutil.spec b/ipmiutil.spec
index ca47d5a..dda084d 100644
--- a/ipmiutil.spec
+++ b/ipmiutil.spec
@@ -1,16 +1,19 @@
 Name: ipmiutil
-Version: 2.7.9
-Release: 4%{?dist}
-Summary: A package that provides easy-to-use IPMI server management utilities
+Version: 2.8.2
+Release: 1%{?dist}
+Summary: Easy-to-use IPMI server management utilities
 License: BSD
 Group: System/Management
 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
+BuildRequires: openssl-devel gcc gcc-c++ libtool
+%if 0%{?fedora} >= 15
+Requires: systemd-units
+%endif
 # Suggests: cron or vixie-cron or cronie or similar
+%define systemd_fls %{_datadir}/%{name}
+%define init_dir  %{_initrddir}
 
 %description
 The ipmiutil package provides easy-to-use utilities to view the SEL,
@@ -24,10 +27,17 @@ An IPMI driver can be provided by either the OpenIPMI driver (/dev/ipmi0)
 or the Intel IPMI driver (/dev/imb), etc.  If used locally and no driver is
 detected, ipmiutil will use user-space direct I/Os instead.
 
+%package devel
+Group: Development/Libraries
+Summary: The includes and static libraries from the ipmiutil package
+Requires: ipmiutil
+
+%description devel
+The ipmiutil-devel package contains headers and libraries which are
+useful for building custom IPMI applications.
+
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
 
 %build
 %configure
@@ -37,13 +47,16 @@ make
 rm -rf %{buildroot}
 make install DESTDIR=%{buildroot}
 
+%clean
+rm -rf %{buildroot}
+
 %files
 %defattr(-, root, root, -)
 %dir %{_datadir}/%{name}
 %dir %{_var}/lib/%{name}
-%{_sbindir}/ipmiutil
-%{_sbindir}/idiscover
-%{_sbindir}/ievents
+%{_bindir}/ipmiutil
+%{_bindir}/idiscover
+%{_bindir}/ievents
 %{_sbindir}/ipmi_port
 %{_sbindir}/ialarms 
 %{_sbindir}/iconfig
@@ -62,15 +75,15 @@ make install DESTDIR=%{buildroot}
 %{_sbindir}/ifirewall 
 %{_sbindir}/ifwum 
 %{_sbindir}/ihpm 
-%{_initrddir}/ipmiutil_wdt
-%{_initrddir}/ipmiutil_asy
-%{_initrddir}/ipmiutil_evt
-%{_initrddir}/ipmi_port
+%{_datadir}/%{name}/ipmiutil_evt
+%{_datadir}/%{name}/ipmiutil_asy
+%{_datadir}/%{name}/ipmiutil_wdt
+%{_datadir}/%{name}/ipmi_port
 %{_datadir}/%{name}/checksel
-%{_datadir}/%{name}/ipmiutil_evt.service
-%{_datadir}/%{name}/ipmiutil_asy.service
-%{_datadir}/%{name}/ipmiutil_wdt.service
-%{_datadir}/%{name}/ipmi_port.service
+%{systemd_fls}/ipmiutil_evt.service
+%{systemd_fls}/ipmiutil_asy.service
+%{systemd_fls}/ipmiutil_wdt.service
+%{systemd_fls}/ipmi_port.service
 %{_datadir}/%{name}/ipmiutil.env
 %{_datadir}/%{name}/ipmiutil.pre
 %{_datadir}/%{name}/ipmiutil.setup
@@ -101,11 +114,22 @@ make install DESTDIR=%{buildroot}
 %{_mandir}/man8/isunoem.8*
 %{_mandir}/man8/idelloem.8*
 %{_mandir}/man8/iekanalyzer.8*
+%{_mandir}/man8/itsol.8*
+%{_mandir}/man8/idcmi.8*
 %doc AUTHORS ChangeLog COPYING NEWS README TODO 
 %doc doc/UserGuide
 
-%clean
-rm -rf %{buildroot}
+%files devel
+%defattr(-,root,root)
+%{_datadir}/%{name}/ipmicmd.h
+%{_datadir}/%{name}/ipmi_sample.c
+%{_datadir}/%{name}/Makefile
+%{_libdir}/libipmiutil.a
+
+%post devel
+/sbin/ldconfig
+
+%pre
 
 %post
 # POST_INSTALL, $1 = 1 if rpm -i, $1 = 2 if rpm -U
@@ -114,20 +138,25 @@ if [ "$1" = "1" ]
 then
    # doing rpm -i, first time
    vardir=%{_var}/lib/%{name}
-   init_dir=%{_datadir}/%{name}
+   scr_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
+	echo "IINITDIR=%{init_dir}" >>%{_datadir}/%{name}/ipmiutil.env
+	cp -f ${scr_dir}/ipmiutil_evt.service ${systemd_dir}
+	cp -f ${scr_dir}/ipmiutil_asy.service ${systemd_dir}
+	cp -f ${scr_dir}/ipmiutil_wdt.service ${systemd_dir}
+	cp -f ${scr_dir}/ipmi_port.service    ${systemd_dir}
+	# systemctl enable ipmi_port.service >/dev/null 2>&1 || :
+   else 
+	cp -f ${scr_dir}/ipmiutil_wdt %{init_dir}
+	cp -f ${scr_dir}/ipmiutil_asy %{init_dir}
+	cp -f ${scr_dir}/ipmiutil_evt %{init_dir}
+	cp -f ${scr_dir}/ipmi_port    %{init_dir}
    fi
 
    # Run some ipmiutil command to see if any IPMI interface works.
-   %{_sbindir}/ipmiutil sel -v >/dev/null 2>&1
+   %{_bindir}/ipmiutil sel -v >/dev/null 2>&1
    IPMIret=$?
 
    # If IPMIret==0, the IPMI cmd was successful, and IPMI is enabled locally.
@@ -138,7 +167,9 @@ then
       fi
       # IPMI_IS_ENABLED, so enable services, but only if Red Hat
       if [ -f /etc/redhat-release ]; then
-         if [ -x /sbin/chkconfig ]; then
+         if [ -x /bin/systemctl ]; then
+            touch ${scr_dir}/ipmi_port.service
+         elif [ -x /sbin/chkconfig ]; then
             /sbin/chkconfig --add ipmi_port
             /sbin/chkconfig --add ipmiutil_wdt
             /sbin/chkconfig --add ipmiutil_asy 
@@ -149,7 +180,7 @@ then
       # Capture a snapshot of IPMI sensor data once now for later reuse.
       sensorout=$vardir/sensor_out.txt
       if [ ! -f $sensorout ]; then
-         %{_sbindir}/ipmiutil sensor -q >$sensorout
+         %{_bindir}/ipmiutil sensor -q >$sensorout
       fi
    fi
 fi
@@ -158,42 +189,63 @@ fi
 # before uninstall,  $1 = 1 if rpm -U, $1 = 0 if rpm -e
 if [ "$1" = "0" ]
 then
-   if [ -x /sbin/service ]; then
-     /sbin/service ipmi_port stop       >/dev/null 2>&1
-     /sbin/service ipmiutil_wdt stop    >/dev/null 2>&1
-     /sbin/service ipmiutil_asy stop    >/dev/null 2>&1
-     /sbin/service ipmiutil_evt stop    >/dev/null 2>&1
-   fi
-   if [ -x /sbin/chkconfig ]; then
-     /sbin/chkconfig --del ipmi_port    >/dev/null 2>&1
-     /sbin/chkconfig --del ipmiutil_wdt >/dev/null 2>&1
-     /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
+	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 || :
+	systemctl disable ipmiutil_wdt.service >/dev/null 2>&1 || :
+	systemctl stop ipmiutil_evt.service >/dev/null 2>&1 || :
+	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 || :
 	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
+   else 
+     if [ -x /sbin/service ]; then
+        /sbin/service ipmi_port stop       >/dev/null 2>&1
+        /sbin/service ipmiutil_wdt stop    >/dev/null 2>&1
+        /sbin/service ipmiutil_asy stop    >/dev/null 2>&1
+        /sbin/service ipmiutil_evt stop    >/dev/null 2>&1
+     fi
+     if [ -x /sbin/chkconfig ]; then
+        /sbin/chkconfig --del ipmi_port    >/dev/null 2>&1
+        /sbin/chkconfig --del ipmiutil_wdt >/dev/null 2>&1
+        /sbin/chkconfig --del ipmiutil_asy >/dev/null 2>&1
+        /sbin/chkconfig --del ipmiutil_evt >/dev/null 2>&1
      fi
+	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
+   if [ -f %{_sysconfdir}/cron.daily/checksel ]; then
+	rm -f %{_sysconfdir}/cron.daily/checksel
    fi
 fi
 
+%postun
+if [ -x /bin/systemctl ]; then
+   systemctl daemon-reload  || :
+   if [ $1 -ge 1 ] ; then
+      # Package upgrade, not uninstall
+      systemctl try-restart ipmi_port.service  || :
+   fi
+fi
 
 %changelog
+* Thu Mar 08 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.2-1
+- reworked systemd logic/macros, moved ipmiutil from sbindir to bindir,
+  added devel package files
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.7.9-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
+* Fri Nov 11 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.9-3
+  fix RH bug #752319 to not copy checksel to cron.daily if IPMI not enabled
 * 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
diff --git a/sources b/sources
index f5f7e3f..ef96e1d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3e6bc1effe4aaeeb614de19538c343ec  ipmiutil-2.7.9.tar.gz
+fc8e5070b1fddca06c9e66d00da71934  ipmiutil-2.8.2.tar.gz


More information about the scm-commits mailing list