freeipmi/freeipmi.spec

520 lines
14 KiB
RPMSpec
Raw Normal View History

#
# spec file for package freeipmi
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2003-2008 FreeIPMI Core Team
#
# 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/
#
%if 0%{?suse_version} > 1140 || 0%{?fedora_version} > 14
%define has_systemd 1
%else
%define has_systemd 0
%endif
%define name freeipmi
%define version 1.5.3
%define srcversion %{version}
%if %{?_with_debug:1}%{!?_with_debug:0}
%define release 1.debug%{?dist}
%else
%define release 1%{?dist}
%endif
%{!?_initddir: %global _initddir %{_sysconfdir}/init.d}
Name: %{name}
Version: %{version}
Release: %{release}
Url: http://www.gnu.org/software/freeipmi/
Source0: http://ftp.gnu.org/gnu/freeipmi/%{name}-%{srcversion}.tar.gz
Source4: http://ftp.gnu.org/gnu/freeipmi/%{name}-%{srcversion}.tar.gz.sig
Source5: %{name}.keyring
Summary: FreeIPMI
License: GPL-3.0+
Group: System/Management
BuildRequires: automake
BuildRequires: libgcrypt-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: texinfo
%if 0%{?suse_version} > 1010
BuildRequires: fdupes
%endif
%if 0%{?has_systemd}
BuildRequires: pkgconfig(systemd)
%endif
%if 0%{?fedora_version} == 20 || 0%{?rhel_version} >= 700
BuildRequires: perl-Exporter
%endif
Obsoletes: freeipmi-ipmimonitoring < %{version}
Provides: freeipmi-ipmimonitoring = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): info
Requires(preun): info
# Necessary as only those archs implement iopl and friends (#368541)
ExclusiveArch: %{ix86} x86_64 ia64 alpha
%description
This 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/Tools/Other
Requires: freeipmi = %{version}
%description devel
Development package for FreeIPMI. This package includes the FreeIPMI
header files and static libraries.
%package bmc-watchdog
Summary: FreeIPMI BMC watchdog
Group: System/Management
%if 0%{?suse_version}
Requires(pre): %fillup_prereq
%if %{has_systemd}
%{?systemd_requires}
%endif
%endif
Requires: freeipmi = %{version}
%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: System/Management
Requires: freeipmi = %{version}
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
Requires(post): chkconfig
Requires(preun): chkconfig
%endif
%if %{has_systemd}
%{?systemd_requires}
%endif
%description ipmidetectd
This service detects and monitors IPMI nodes.
%if %{?_with_debug:1}%{!?_with_debug:0}
%define _enable_debug --enable-debug --enable-trace
%endif
%prep
- Drop freeipmi-max-sensor.patch, included upstream - Update to 1.4.0 beta0 Tools - New Features -------------------- o Support new tool ipmi-config. Ipmi-config is a consolidated configuration tool implementing everything that was previously in bmc-config, ipmi-pef-config, ipmi-sensors-config, and ipmi-chassis-config. - The consolidated tool will allow users to checkout, commit, and diff sections/fields across the four former tools using only one tool. - The consolidated tool will also allow users to checkout, commit, and diff new sections/fields not yet covered in the four former tools. - Legacy scripts for bmc-config, ipmi-pef-config, ipmi-sensors-config, and ipmi-chassis-config will point to the new tool with all appropriate options to ensure full backwards compatability. - The ipmi-pef-config --info option has been made legacy. It is still supported but no longer advertised. o Support Intel Data Center Host Interface / Management Engine as optional driver type for in-band communication. - Typically these are loaded as /dev/dcmi and /dev/mei drivers. - This driver is identified as the "inteldcmi" type, as it is specific to Intel systems. o Support OEM extensions for Intel Windmill, Wiwynn Windmill, and Quanta Winterfell motherboards in ipmi-sel and ipmi-sensors. These motherboards are also know as motherboards for the Open Compute Project (OCP). o Support DCMI configuration in ipmi-config. OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/freeipmi?expand=0&rev=42
2014-02-06 14:15:06 +01:00
%setup -q -n %{name}-%{srcversion}
%build
%if 0%{?suse_version} >= 1110
aclocal -I config
autoheader
libtoolize --force --automake --copy
autoconf
automake --gnu --include-deps --copy --add-missing
%endif
# simple .spec expressions for SLE10
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version}
%if 0%{?fedora_version} < 21
%define docpath %{_docdir}/%{name}-%{version}
%else
%define docpath %{_docdir}/%{name}
%endif
%else
%define docpath %{_docdir}/%{name}
%endif
%if %{has_systemd}
%define configure_systemd --with-systemdsystemunitdir=%{_unitdir}
%endif
%configure --program-prefix=%{?_program_prefix:%{_program_prefix}} \
--docdir=%{docpath} \
%{?configure_systemd} \
%{?_enable_debug} --disable-static
CFLAGS="%{optflags}" make %{?_smp_mflags}
%install
mkdir -p %{buildroot}
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
# /etc/rc.d/init.d
# 'make install' installs to /etc/init.d
# /etc/init.d -> /etc/rc.d/init.d
mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/init.d
(cd %{buildroot}/%{_sysconfdir}; ln -s rc.d/init.d init.d)
%endif
%if 0%{?suse_version}
%makeinstall
%else
make install DESTDIR=%{buildroot}
%endif
# Silent build check warning
rm -f %{buildroot}%{_datadir}/doc/packages/freeipmi/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 %{buildroot}/%{_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
mkdir -p %{buildroot}%{_localstatedir}/lib/freeipmi
echo freeipmi > %{buildroot}%{_localstatedir}/lib/freeipmi/ipckey
# Remove .la files
rm -rf %{buildroot}/%{_libdir}/*.la
%if 0%{?suse_version}
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
mv %{buildroot}%{_sysconfdir}/sysconfig/bmc-watchdog %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.bmc-watchdog
%endif
%if 0%{?suse_version} > 1010
%fdupes $RPM_BUILD_ROOT
%endif
%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 %{has_systemd}
%service_add_post bmc-watchdog.service
%else
if [ "$1" = 1 ]; then
if [ -x %{_initddir}/bmc-watchdog ]; then
/sbin/chkconfig --add bmc-watchdog
/sbin/chkconfig bmc-watchdog off
fi
fi
if [ $1 -ge 1 ]; then
if [ -x %{_initddir}/bmc-watchdog ]; then
if %{_initddir}/bmc-watchdog status | grep -q running; then
%{_initddir}/bmc-watchdog restart
else
%{_initddir}/bmc-watchdog condrestart
fi
fi
fi
%endif
%preun bmc-watchdog
%if %{has_systemd}
%service_del_preun bmc-watchdog.service
%else
#
# Stop bmc-watchdog if it is running
#
if [ "$1" = 0 ]; then
if [ -x %{_initddir}/bmc-watchdog ]; then
if %{_initddir}/bmc-watchdog status | grep -q running; then
%{_initddir}/bmc-watchdog stop
fi
/sbin/chkconfig --del bmc-watchdog
fi
fi
%endif
%post ipmidetectd
%if %{has_systemd}
%service_add_post ipmidetectd.service
%else
if [ "$1" = 1 ]; then
if [ -x %{_initddir}/ipmidetectd ]; then
/sbin/chkconfig --add ipmidetectd
/sbin/chkconfig ipmidetectd off
fi
fi
if [ $1 -ge 1 ]; then
if [ -x %{_initddir}/ipmidetectd ]; then
if %{_initddir}/ipmidetectd status | grep -q running; then
%{_initddir}/ipmidetectd restart
else
%{_initddir}/ipmidetectd condrestart
fi
fi
fi
%endif
%preun ipmidetectd
%if %{has_systemd}
%service_del_preun ipmidetectd.service
%else
#
# Stop ipmidetectd if it is running
#
if [ "$1" = 0 ]; then
if [ -x %{_initddir}/ipmidetectd ]; then
if %{_initddir}/ipmidetectd status | grep -q running; then
%{_initddir}/ipmidetectd stop
fi
/sbin/chkconfig --del ipmidetectd
fi
fi
%endif
%files
%defattr(-,root,root)
# %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/ipmi_monitoring_sensors.conf
%config(noreplace) %{_sysconfdir}/freeipmi/freeipmi.conf
%dir %{_sysconfdir}/freeipmi
%config %{_sysconfdir}/freeipmi/freeipmi_interpret_sel.conf
%config %{_sysconfdir}/freeipmi/freeipmi_interpret_sensor.conf
%config %{_sysconfdir}/freeipmi/ipmidetect.conf
%config %{_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.ipmidetect
%doc DISCLAIMER.ipmimonitoring
%doc DISCLAIMER.pstdout
%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} == 20
%{docpath}
%endif
%config %{_sysconfdir}/freeipmi/ipmiseld.conf
%if %{has_systemd}
%{_unitdir}/ipmiseld.service
%else
%{_initddir}/ipmiseld
%endif
%{_libdir}/libipmiconsole*so.*
%{_libdir}/libipmidetect*so.*
%{_libdir}/libfreeipmi*so.*
%{_libdir}/libipmimonitoring.so.*
%{_localstatedir}/lib/*
- Drop freeipmi-max-sensor.patch, included upstream - Update to 1.4.0 beta0 Tools - New Features -------------------- o Support new tool ipmi-config. Ipmi-config is a consolidated configuration tool implementing everything that was previously in bmc-config, ipmi-pef-config, ipmi-sensors-config, and ipmi-chassis-config. - The consolidated tool will allow users to checkout, commit, and diff sections/fields across the four former tools using only one tool. - The consolidated tool will also allow users to checkout, commit, and diff new sections/fields not yet covered in the four former tools. - Legacy scripts for bmc-config, ipmi-pef-config, ipmi-sensors-config, and ipmi-chassis-config will point to the new tool with all appropriate options to ensure full backwards compatability. - The ipmi-pef-config --info option has been made legacy. It is still supported but no longer advertised. o Support Intel Data Center Host Interface / Management Engine as optional driver type for in-band communication. - Typically these are loaded as /dev/dcmi and /dev/mei drivers. - This driver is identified as the "inteldcmi" type, as it is specific to Intel systems. o Support OEM extensions for Intel Windmill, Wiwynn Windmill, and Quanta Winterfell motherboards in ipmi-sel and ipmi-sensors. These motherboards are also know as motherboards for the Open Compute Project (OCP). o Support DCMI configuration in ipmi-config. OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/freeipmi?expand=0&rev=42
2014-02-06 14:15:06 +01:00
%{_sbindir}/ipmi-config
%{_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}/ipmiseld
%{_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
%{_sbindir}/ipmi-pet
%{_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*
- Drop freeipmi-max-sensor.patch, included upstream - Update to 1.4.0 beta0 Tools - New Features -------------------- o Support new tool ipmi-config. Ipmi-config is a consolidated configuration tool implementing everything that was previously in bmc-config, ipmi-pef-config, ipmi-sensors-config, and ipmi-chassis-config. - The consolidated tool will allow users to checkout, commit, and diff sections/fields across the four former tools using only one tool. - The consolidated tool will also allow users to checkout, commit, and diff new sections/fields not yet covered in the four former tools. - Legacy scripts for bmc-config, ipmi-pef-config, ipmi-sensors-config, and ipmi-chassis-config will point to the new tool with all appropriate options to ensure full backwards compatability. - The ipmi-pef-config --info option has been made legacy. It is still supported but no longer advertised. o Support Intel Data Center Host Interface / Management Engine as optional driver type for in-band communication. - Typically these are loaded as /dev/dcmi and /dev/mei drivers. - This driver is identified as the "inteldcmi" type, as it is specific to Intel systems. o Support OEM extensions for Intel Windmill, Wiwynn Windmill, and Quanta Winterfell motherboards in ipmi-sel and ipmi-sensors. These motherboards are also know as motherboards for the Open Compute Project (OCP). o Support DCMI configuration in ipmi-config. OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/freeipmi?expand=0&rev=42
2014-02-06 14:15:06 +01:00
%{_mandir}/man8/ipmi-config.8*
%{_mandir}/man5/ipmi-config.conf.5*
%{_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}/man5/ipmiseld.conf.5*
%{_mandir}/man8/ipmiseld.8*
%{_mandir}/man8/ipmi-console.8*
%{_mandir}/man8/ipmi-detect.8*
%{_mandir}/man8/ipmi-ping.8*
%{_mandir}/man8/ipmi-power.8*
%{_mandir}/man8/ipmi-pet.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
%dir %{_includedir}/freeipmi/interface
%dir %{_includedir}/freeipmi/interpret
%dir %{_includedir}/freeipmi/locate
%dir %{_includedir}/freeipmi/payload
%dir %{_includedir}/freeipmi/record-format
%dir %{_includedir}/freeipmi/record-format/oem
%dir %{_includedir}/freeipmi/sdr
%dir %{_includedir}/freeipmi/sdr/oem
%dir %{_includedir}/freeipmi/sel
%dir %{_includedir}/freeipmi/sensor-read
%dir %{_includedir}/freeipmi/spec
%dir %{_includedir}/freeipmi/spec/oem
%dir %{_includedir}/freeipmi/templates
%dir %{_includedir}/freeipmi/templates/oem
%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/*.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/record-format/oem/*.h
%{_includedir}/freeipmi/sdr/*.h
%{_includedir}/freeipmi/sdr/oem/*.h
%{_includedir}/freeipmi/sel/*.h
%{_includedir}/freeipmi/sensor-read/*.h
%{_includedir}/freeipmi/spec/*.h
%{_includedir}/freeipmi/spec/oem/*.h
%{_includedir}/freeipmi/templates/*.h
%{_includedir}/freeipmi/templates/oem/*.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
%if %{has_systemd}
%{_unitdir}/bmc-watchdog.service
%else
%config(noreplace) %{_initddir}/bmc-watchdog
%endif
%if 0%{?suse_version}
%attr(0444,root,root) %config(noreplace) %{_localstatedir}/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)
%if %{has_systemd}
%{_unitdir}/ipmidetectd.service
%else
%config(noreplace) %{_initddir}/ipmidetectd
%endif
%attr(0444,root,root) %config(noreplace) %{_sysconfdir}/freeipmi/ipmidetectd.conf
%{_sbindir}/ipmidetectd
%{_mandir}/man5/ipmidetectd.conf.5*
%{_mandir}/man8/ipmidetectd.8*
%changelog