File ipmiutil.spec of Package ipmiutil

#
# spec file for package ipmiutil (Version 2.7.2)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           ipmiutil
Version:        2.7.2
Release:        1
Summary:        A package that provides 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:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  gcc gcc-c++ openssl-devel
Patch:          iekanalyzer_warning.patch

%description
The ipmiutil package provides easy-to-use utilities to view the SEL, 
perform an IPMI chassis reset, set up the IPMI LAN and Platform Event Filter 
entries to allow SNMP alerts, and other IPMI tasks.  
These can be invoked with the metacommand ipmiutil, or via subcommand 
shortcuts as well.  Man pages are provided.
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.


%prep
%setup -q
%patch -p2

%build
%configure
make

%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}

%files
%defattr(-, root, root, -)
%dir %{_datadir}/%{name}
%dir %{_var}/lib/%{name}
%{_sbindir}/ipmiutil
%{_sbindir}/idiscover
%{_sbindir}/ievents
%{_sbindir}/ipmi_port
%{_sbindir}/ialarms 
%{_sbindir}/iconfig
%{_sbindir}/icmd 
%{_sbindir}/ifru 
%{_sbindir}/igetevent 
%{_sbindir}/ihealth 
%{_sbindir}/ilan 
%{_sbindir}/ireset 
%{_sbindir}/isel 
%{_sbindir}/isensor 
%{_sbindir}/iserial 
%{_sbindir}/isol 
%{_sbindir}/iwdt 
%{_sbindir}/ipicmg 
%{_sbindir}/ifirewall 
%{_sbindir}/ifwum 
%{_sbindir}/ihpm 
%{_initrddir}/ipmiutil_wdt
%{_initrddir}/ipmiutil_asy
%{_initrddir}/ipmiutil_evt
%{_initrddir}/ipmi_port
%{_sysconfdir}/cron.daily/checksel
%{_datadir}/%{name}/ipmi_if.sh
%{_datadir}/%{name}/evt.sh
%{_datadir}/%{name}/bmclanpet.mib
%{_mandir}/man8/isel.8*
%{_mandir}/man8/isensor.8*
%{_mandir}/man8/ireset.8*
%{_mandir}/man8/igetevent.8*
%{_mandir}/man8/ihealth.8*
%{_mandir}/man8/iconfig.8*
%{_mandir}/man8/ialarms.8*
%{_mandir}/man8/iwdt.8*
%{_mandir}/man8/ilan.8*
%{_mandir}/man8/iserial.8*
%{_mandir}/man8/ifru.8*
%{_mandir}/man8/icmd.8*
%{_mandir}/man8/isol.8*
%{_mandir}/man8/ipmiutil.8*
%{_mandir}/man8/idiscover.8*
%{_mandir}/man8/ievents.8*
%{_mandir}/man8/ipmi_port.8*
%{_mandir}/man8/ipicmg.8*
%{_mandir}/man8/ifirewall.8*
%{_mandir}/man8/ifwum.8*
%{_mandir}/man8/ihpm.8*
%{_mandir}/man8/isunoem.8*
%{_mandir}/man8/iekanalyzer.8*
%doc AUTHORS ChangeLog COPYING NEWS README TODO 
%doc doc/UserGuide

%clean
rm -rf %{buildroot}

%post
# 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}

   # Run some ipmiutil command to see if any IPMI interface works.
   %{_sbindir}/ipmiutil wdt >/dev/null 2>&1
   IPMIret=$?

   # If IPMIret==0, the IPMI cmd was successful, and IPMI is enabled locally.
   if [ $IPMIret -eq 0 ]; then
      # IPMI_IS_ENABLED, so enable services, but only if Red Hat
      if [ -f /etc/redhat-release ]; then
         if [ -x /sbin/chkconfig ]; then
            /sbin/chkconfig --add ipmi_port
            /sbin/chkconfig --add ipmiutil_wdt
            /sbin/chkconfig --add ipmiutil_asy 
            /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
         %{_sbindir}/ipmiutil sensor >$sensorout
      fi
   fi
fi

%preun
# 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
fi

%changelog