freeipmi/freeipmi.spec

459 lines
13 KiB
RPMSpec

#
# Copyright (c) 2003-2008 FreeIPMI Core Team
#
%define name freeipmi
%define version 1.0.6
%if %{?_with_debug:1}%{!?_with_debug:0}
%define release 1.debug%{?dist}
%else
%define release 1%{?dist}
%endif
Name: %{name}
Version: %{version}
Release: %{release}
License: GPLv2+
Group: Applications/System
URL: http://www.gnu.org/software/freeipmi/
Source: ftp://ftp.zresearch.com/pub/freeipmi/%{version}/%{name}-%{version}.tar.bz2
Patch1: add_default_start.patch
%if 0%{?suse_version}
Patch2: adapt_to_suse_docdir.patch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libgcrypt-devel texinfo
Requires(post): info
Requires(preun): info
Obsoletes: freeipmi-ipmimonitoring
# Necessary as only those archs implement iopl and friends (#368541)
ExclusiveArch: %{ix86} x86_64 ia64 alpha
Summary: FreeIPMI
%description
The FreeIPMI project provides "Remote-Console" (out-of-band) and
"System Management Software" (in-band) based on Intelligent
Platform Management Interface specification.
%package devel
Summary: Development package for FreeIPMI
Group: Development/System
Requires: freeipmi = %{version}-%{release}
%description devel
Development package for FreeIPMI. This package includes the FreeIPMI
header files and static libraries.
%package bmc-watchdog
Summary: FreeIPMI BMC watchdog
Group: Applications/System
%if 0%{?suse_version}
PreReq: %fillup_prereq
%endif
Requires: freeipmi = %{version}-%{release}
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
Requires(post): chkconfig
Requires(preun): chkconfig
%endif
Requires: logrotate
%description bmc-watchdog
Provides a watchdog daemon for OS monitoring and recovery.
%package ipmidetectd
Summary: IPMI node detection monitoring daemon
Group: Applications/System
Requires: freeipmi = %{version}-%{release}
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
Requires(post): chkconfig
Requires(preun): chkconfig
%endif
%description ipmidetectd
IPMI node detection daemon.
%if %{?_with_debug:1}%{!?_with_debug:0}
%define _enable_debug --enable-debug --enable-trace
%endif
%prep
%setup -q
%patch1 -p0
%if 0%{?suse_version}
%patch2 -p0
%endif
%build
aclocal -I config
autoheader
libtoolize --force --automake --copy
automake --gnu --include-deps --copy --add-missing
autoconf
%configure --program-prefix=%{?_program_prefix:%{_program_prefix}} \
%{?_enable_debug} --disable-static
CFLAGS="$RPM_OPT_FLAGS" make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
# /etc/rc.d/init.d
mkdir -p $RPM_BUILD_ROOT/%{_initrddir}
# 'make install' installs to /etc/init.d
# /etc/init.d -> /etc/rc.d/init.d
(cd $RPM_BUILD_ROOT/%{_sysconfdir}; ln -s rc.d/init.d init.d)
%endif
DESTDIR="$RPM_BUILD_ROOT" make install
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
# remove /etc/init.d -> /etc/rc.d/init.d
(cd $RPM_BUILD_ROOT/%{_sysconfdir}; rm init.d)
%endif
# fix coherance problems with associated script filenames
rm -f %{buildroot}%{_infodir}/dir
# kludge to get around rpmlint complaining about 0 length semephore file
echo freeipmi > %{buildroot}%{_localstatedir}/lib/freeipmi/ipckey
# Remove .la files
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la
%if 0%{?suse_version}
mkdir -p %{buildroot}/var/adm/fillup-templates
mv %{buildroot}%{_sysconfdir}/sysconfig/bmc-watchdog %{buildroot}/var/adm/fillup-templates/sysconfig.bmc-watchdog
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ -x /sbin/install-info ]; then
#/sbin/install-info %{_infodir}/freeipmi.info.gz %{_infodir}/dir
/sbin/install-info %{_infodir}/freeipmi-faq.info.gz %{_infodir}/dir
fi
/sbin/ldconfig
%preun
if [ $1 = 0 ]; then
if [ -x /sbin/install-info ]; then
#/sbin/install-info --delete %{_infodir}/freeipmi.info.gz %{_infodir}/dir
/sbin/install-info --delete %{_infodir}/freeipmi-faq.info.gz %{_infodir}/dir
fi
fi
%postun -p /sbin/ldconfig
%post bmc-watchdog
%if 0%{?suse_version}
%{fillup_only}
%endif
if [ "$1" = 1 ]; then
if [ -x %{_initrddir}/bmc-watchdog ]; then
/sbin/chkconfig --add bmc-watchdog
/sbin/chkconfig bmc-watchdog off
fi
fi
if [ $1 -ge 1 ]; then
if [ -x %{_initrddir}/bmc-watchdog ]; then
if %{_initrddir}/bmc-watchdog status | grep -q running; then
%{_initrddir}/bmc-watchdog restart
else
%{_initrddir}/bmc-watchdog condrestart
fi
fi
fi
%preun bmc-watchdog
#
# Stop bmc-watchdog if it is running
#
if [ "$1" = 0 ]; then
if [ -x %{_initrddir}/bmc-watchdog ]; then
if %{_initrddir}/bmc-watchdog status | grep -q running; then
%{_initrddir}/bmc-watchdog stop
fi
/sbin/chkconfig --del bmc-watchdog
fi
fi
%post ipmidetectd
if [ "$1" = 1 ]; then
if [ -x %{_initrddir}/ipmidetectd ]; then
/sbin/chkconfig --add ipmidetectd
/sbin/chkconfig ipmidetectd off
fi
fi
if [ $1 -ge 1 ]; then
if [ -x %{_initrddir}/ipmidetectd ]; then
if %{_initrddir}/ipmidetectd status | grep -q running; then
%{_initrddir}/ipmidetectd restart
else
%{_initrddir}/ipmidetectd condrestart
fi
fi
fi
%preun ipmidetectd
#
# Stop ipmidetectd if it is running
#
if [ "$1" = 0 ]; then
if [ -x %{_initrddir}/ipmidetectd ]; then
if %{_initrddir}/ipmidetectd status | grep -q running; then
%{_initrddir}/ipmidetectd stop
fi
/sbin/chkconfig --del ipmidetectd
fi
fi
%files
%defattr(-,root,root)
# %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/ipmi_monitoring_sensors.conf
%config(noreplace) %{_sysconfdir}/freeipmi/freeipmi.conf
%dir %{_sysconfdir}/freeipmi
%{_sysconfdir}/freeipmi/freeipmi_interpret_sel.conf
%{_sysconfdir}/freeipmi/freeipmi_interpret_sensor.conf
%{_sysconfdir}/freeipmi/ipmidetect.conf
%{_sysconfdir}/freeipmi/libipmiconsole.conf
%doc AUTHORS
%doc COPYING
%doc ChangeLog
%doc ChangeLog.0
%doc INSTALL
%doc NEWS
%doc README
%doc TODO
%doc %{_infodir}/*
%doc COPYING.ipmiping
%doc COPYING.ipmipower
%doc COPYING.ipmiconsole
%doc COPYING.ipmimonitoring
%doc COPYING.pstdout
%doc COPYING.ipmidetect
%doc COPYING.ipmi-fru
%doc COPYING.ZRESEARCH
%doc DISCLAIMER.ipmiping
%doc DISCLAIMER.ipmipower
%doc DISCLAIMER.ipmiconsole
%doc DISCLAIMER.ipmimonitoring
%doc DISCLAIMER.pstdout
%doc DISCLAIMER.ipmidetect
%doc DISCLAIMER.ipmi-fru
%doc DISCLAIMER.ipmiping.UC
%doc DISCLAIMER.ipmipower.UC
%doc DISCLAIMER.ipmiconsole.UC
%doc DISCLAIMER.ipmimonitoring.UC
%doc DISCLAIMER.pstdout.UC
%doc DISCLAIMER.ipmidetect.UC
%doc DISCLAIMER.ipmi-fru.UC
%doc doc/freeipmi-coding.txt
%doc doc/freeipmi-hostrange.txt
%doc doc/freeipmi-libraries.txt
%doc doc/freeipmi-bugs-issues-and-workarounds.txt
#%dir %{_docdir}
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
%{_docdir}
%endif
%{_libdir}/libipmiconsole*so.*
%{_libdir}/libfreeipmi*so.*
%{_libdir}/libipmidetect*so.*
%{_libdir}/libipmimonitoring.so.*
%{_localstatedir}/lib/*
%{_sbindir}/bmc-config
%{_sbindir}/bmc-info
%{_sbindir}/bmc-device
%{_sbindir}/ipmi-fru
%{_sbindir}/ipmi-locate
%{_sbindir}/ipmi-oem
%{_sbindir}/ipmi-pef-config
%{_sbindir}/pef-config
%{_sbindir}/ipmi-raw
%{_sbindir}/ipmi-sel
%{_sbindir}/ipmi-sensors
%{_sbindir}/ipmi-sensors-config
%{_sbindir}/ipmiping
%{_sbindir}/ipmipower
%{_sbindir}/ipmiconsole
%{_sbindir}/ipmimonitoring
%{_sbindir}/ipmi-chassis
%{_sbindir}/ipmi-chassis-config
%{_sbindir}/ipmi-dcmi
%{_sbindir}/ipmidetect
%{_sbindir}/ipmi-console
%{_sbindir}/ipmi-detect
%{_sbindir}/ipmi-ping
%{_sbindir}/ipmi-power
%{_sbindir}/rmcp-ping
%{_sbindir}/rmcpping
%{_mandir}/man8/bmc-config.8*
%{_mandir}/man5/bmc-config.conf.5*
%{_mandir}/man8/bmc-info.8*
%{_mandir}/man8/bmc-device.8*
%{_mandir}/man8/ipmi-fru.8*
%{_mandir}/man8/ipmi-locate.8*
%{_mandir}/man8/ipmi-pef-config.8*
%{_mandir}/man8/pef-config.8*
%{_mandir}/man8/ipmi-oem.8*
%{_mandir}/man8/ipmi-raw.8*
%{_mandir}/man8/ipmi-sel.8*
%{_mandir}/man8/ipmi-sensors.8*
%{_mandir}/man8/ipmi-sensors-config.8*
%{_mandir}/man8/ipmiping.8*
%{_mandir}/man8/ipmipower.8*
%{_mandir}/man5/ipmipower.conf.5*
%{_mandir}/man8/ipmiconsole.8*
%{_mandir}/man5/ipmiconsole.conf.5*
%{_mandir}/man8/ipmimonitoring.8*
%{_mandir}/man5/ipmi_monitoring_sensors.conf.5*
%{_mandir}/man5/ipmimonitoring_sensors.conf.5*
%{_mandir}/man5/ipmimonitoring.conf.5*
%{_mandir}/man5/libipmimonitoring.conf.5*
%{_mandir}/man8/ipmi-chassis.8*
%{_mandir}/man8/ipmi-chassis-config.8*
%{_mandir}/man8/ipmi-dcmi.8*
%{_mandir}/man8/ipmidetect.8*
%{_mandir}/man5/freeipmi.conf.5*
%{_mandir}/man5/ipmidetect.conf.5*
%{_mandir}/man7/freeipmi.7*
%{_mandir}/man8/rmcp-ping.8*
%{_mandir}/man8/rmcpping.8*
%{_mandir}/man5/freeipmi_interpret_sel.conf.5*
%{_mandir}/man5/freeipmi_interpret_sensor.conf.5*
%{_mandir}/man5/libipmiconsole.conf.5*
%{_mandir}/man8/ipmi-console.8*
%{_mandir}/man8/ipmi-detect.8*
%{_mandir}/man8/ipmi-ping.8*
%{_mandir}/man8/ipmi-power.8*
%dir %{_localstatedir}/cache/ipmimonitoringsdrcache
%files devel
%defattr(-,root,root)
%{_libdir}/libipmiconsole.so
%{_libdir}/libfreeipmi.so
%{_libdir}/libipmidetect.so
%{_libdir}/libipmimonitoring.so
%{_libdir}/pkgconfig/*
%dir %{_includedir}/freeipmi
%dir %{_includedir}/freeipmi/api
%dir %{_includedir}/freeipmi/cmds
%dir %{_includedir}/freeipmi/debug
%dir %{_includedir}/freeipmi/driver
%dir %{_includedir}/freeipmi/fiid
%dir %{_includedir}/freeipmi/fru-parse
%dir %{_includedir}/freeipmi/interface
%dir %{_includedir}/freeipmi/interpret
%dir %{_includedir}/freeipmi/locate
%dir %{_includedir}/freeipmi/payload
%dir %{_includedir}/freeipmi/record-format
%dir %{_includedir}/freeipmi/sdr-cache
%dir %{_includedir}/freeipmi/sdr-parse
%dir %{_includedir}/freeipmi/sel-parse
%dir %{_includedir}/freeipmi/sensor-read
%dir %{_includedir}/freeipmi/spec
%dir %{_includedir}/freeipmi/templates
%dir %{_includedir}/freeipmi/util
%{_includedir}/ipmiconsole.h
%{_includedir}/ipmidetect.h
%{_includedir}/ipmi_monitoring.h
%{_includedir}/ipmi_monitoring_bitmasks.h
%{_includedir}/ipmi_monitoring_offsets.h
%{_includedir}/freeipmi/*.h
%{_includedir}/freeipmi/api/*.h
%{_includedir}/freeipmi/cmds/*.h
%{_includedir}/freeipmi/debug/*.h
%{_includedir}/freeipmi/driver/*.h
%{_includedir}/freeipmi/fiid/*.h
%{_includedir}/freeipmi/fru-parse/*.h
%{_includedir}/freeipmi/interface/*.h
%{_includedir}/freeipmi/interpret/ipmi-interpret.h
%{_includedir}/freeipmi/locate/*.h
%{_includedir}/freeipmi/payload/ipmi-sol-payload.h
%{_includedir}/freeipmi/record-format/*.h
%{_includedir}/freeipmi/sdr-cache/*.h
%{_includedir}/freeipmi/sdr-parse/*.h
%{_includedir}/freeipmi/sel-parse/*.h
%{_includedir}/freeipmi/sensor-read/*.h
%{_includedir}/freeipmi/spec/*.h
%{_includedir}/freeipmi/templates/*.h
%{_includedir}/freeipmi/util/*.h
%{_mandir}/man3/*
%files bmc-watchdog
%defattr(-,root,root)
%doc COPYING.bmc-watchdog
%doc DISCLAIMER.bmc-watchdog
%doc DISCLAIMER.bmc-watchdog.UC
%config(noreplace) %{_initrddir}/bmc-watchdog
%if 0%{?suse_version}
%attr(0444,root,root) %config(noreplace) /var/adm/fillup-templates/sysconfig.bmc-watchdog
%else
%attr(0444,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/bmc-watchdog
%endif
%attr(0444,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/bmc-watchdog
%{_sbindir}/bmc-watchdog
%{_mandir}/man8/bmc-watchdog.8*
%dir %{_localstatedir}/log/freeipmi
%files ipmidetectd
%defattr(-,root,root)
%config(noreplace) %{_initrddir}/ipmidetectd
%attr(0444,root,root) %config(noreplace) %{_sysconfdir}/freeipmi/ipmidetectd.conf
%{_sbindir}/ipmidetectd
%{_mandir}/man5/ipmidetectd.conf.5*
%{_mandir}/man8/ipmidetectd.8*
%changelog
* Mon Apr 7 2008 Albert Chu <chu11@llnl.gov> 0.6.0
- Add freeipmi.7 and libfreeipmi.3 manpage.
* Wed Apr 2 2008 Albert Chu <chu11@llnl.gov> 0.6.0
- Add freeipmi-bugs-and-workarounds.txt.
* Tue Mar 27 2008 Albert Chu <chu11@llnl.gov> 0.6.0
- Add ipmi-oem tool and manpage.
* Mon Feb 18 2008 Albert Chu <chu11@llnl.gov> 0.6.0
- Add ipmi-sensors-config tool and manpage.
* Wed Jan 9 2008 Albert Chu <chu11@llnl.gov> 0.6.0
- Obsolete old subpackage freeipmi-ipmimonitoring.
* Tue Dec 18 2007 Albert Chu <chu11@llnl.gov> 0.6.0
- Use %{version} instead of 0.6.4 for substitution in paths.
* Fri Dec 14 2007 Albert Chu <chu11@llnl.gov> 0.6.0
- Update packaging for libfreeipmi reorganization
* Wed Nov 19 2007 Albert Chu <chu11@llnl.gov> 0.5.0
- Remove ipmimonitoring subpackage. Merge into head package.
* Wed Nov 19 2007 Phil Knirsch <pknirsch@redhat.com> 0.5.0
- More fixes for Fedora Review:
o Added ExclusiveArch due to missing lopl (#368541)
- Several fixes due to Fedora package review:
o Fixed Group for all subpackages
o Added missng Requires(Post|Preun) for several packages
o Removed static libraries and .la files
o Fixed open bug (missing mode for O_CREATE)
o Fixed incorrect options for bmc-watchdog daemon
- Specfile cleanup for Fedora inclusion
- Fixed several rpmlint warnings and errors:
o Moved all devel libs to proper package
* Wed Aug 01 2007 Troy Telford <ttelford@lnxi.com> 0.4.0
- Some package cleanup so it builds on SLES
* Wed Jun 13 2007 Phil Knirsch <pknirsch@redhat.com> 0.4.beta0-1
- Some package cleanup and split of configuration and initscript
* Fri Feb 28 2007 Albert Chu <chu11@llnl.gov> 0.4.beta0-1
- Add ipmidetectd subpackage.
* Fri Feb 16 2007 Albert Chu <chu11@llnl.gov> 0.4.beta0-1
- Add ipmimonitoring subpackage.
* Sun Jul 30 2006 Albert Chu <chu11@llnl.gov> 0.3.beta0-1
- Re-architect for 0.3.X
* Mon May 15 2006 Albert Chu <chu11@llnl.gov> 0.3.beta0-1
- Fixed up spec file to pass rpmlint