File OpenIPMI.spec of Package OpenIPMI
#
# spec file for package OpenIPMI
#
# Copyright (c) 2011 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/
#
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
Name: OpenIPMI
BuildRequires: gd-devel gdbm-devel glib2-devel libjpeg-devel libpng-devel libtool ncurses-devel net-snmp-devel openssl-devel pkg-config popt-devel python-devel python-tk python-xml swig tcl-devel tix
License: LGPL-2.1+
Group: System/Monitoring
Version: 2.0.19
Release: 10
# http://prdownloads.sourceforge.net/openipmi/OpenIPMI-%{version}.tar.gz
Source0: %{name}-%{version}.tar.bz2
Source1: sysconfig.ipmi
Source2: openipmi.initscript
Patch0: OpenIPMI-prefer_perl_vendor.patch
Patch2: new-names-for-new-variables
Patch3: OpenIPMI-libtool.patch
Patch4: OpenIPMI-popt.patch
Patch5: OpenIPMI-2.0.16-larger-ipmibuf
Patch6: fix-devel-deps
Patch7: do-fclose
Patch8: fix-conversions
Source99: OpenIPMI-rpmlintrc
Url: http://openipmi.sourceforge.net
Provides: ipmilan ipmicmd ipmi_ui openipmigui
Requires: python-tk
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: OpenIPMI
PreReq: %install_info_prereq %insserv_prereq %fillup_prereq
# Perl is sometimes installed in /usr/lib, not /usr/lib64 on 64-bit platforms.
# %define perl_libdir %{_exec_prefix}/lib
%description
OpenIPMI is an effort to create a full-function IPMI system to allow
full access to all IPMI information on a server and to abstract it to a
level that makes it easy to use.
OpenIPMI consists of two main parts: a device driver that is included
in the Linux kernel and a user-level library that provides a
higher-level abstraction of IPMI and generic services that can be used
on any operation system. This package contains the user-level library
part. This OpenIPMI library also includes the ipmicmd program, a small
program that lets you inject and receive messages.
Authors:
--------
Corey Minyard <cminyard@users.sourceforge.net>
Rocky Craig <coloroco@users.sourceforge.net>
%package devel
License: LGPL-2.1+
Summary: OpenIPMI - Development libraries
Group: Development/Libraries/Other
Provides: libIPMIlanserv libOpenIPMI libOpenIPMIui
Requires: OpenIPMI = %{version} glibc-devel
AutoReqProv: on
%description devel
These libraries are needed to get full access to the OpenIPMI
functions.
Authors:
--------
Corey Minyard <cminyard@users.sourceforge.net>
Rocky Craig <coloroco@users.sourceforge.net>
%prep
%setup -n %{name}-%{version}
%patch0 -p1
%patch2 -p1
%patch3
%patch4
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%build
autoreconf --install --force
%configure --disable-static --with-pic \
--with-openssl=yes \
--with-pythoninstall=%{py_sitedir} \
--with-tcl=yes \
--with-tcllibs=-ltcl%{tcl_version}
# parallel make does not work
make
%install
make DESTDIR=$RPM_BUILD_ROOT install
install -d $RPM_BUILD_ROOT/var/adm/fillup-templates
install -d $RPM_BUILD_ROOT/etc/init.d
install -d $RPM_BUILD_ROOT/sbin
install -m 644 %{S:1} $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 755 %{S:2} $RPM_BUILD_ROOT/etc/init.d/ipmi
ln -sf ../etc/init.d/ipmi $RPM_BUILD_ROOT/sbin/rcipmi
%{__rm} -f %{buildroot}%{_libdir}/*.la
# rebuild python files to fix timestamps:
for d in "%{python_sitelib}" "%{python_sitearch}"; do
[ -d "%{buildroot}$d" ] || continue
find "%{buildroot}$d/" -type f \( -name '*.pyc' -o -name '*.pyo' \) -exec %__rm {} \;
%__python -c 'import compileall; compileall.compile_dir("%{buildroot}'"$d"'",ddir="'"$d"'",force=1)'
done
%clean
%{?buildroot:%__rm -rf "%{buildroot}"}
%post
/sbin/ldconfig
%{fillup_and_insserv -n ipmi ipmi}
%postun
/sbin/ldconfig
%restart_on_update ipmi
%insserv_cleanup
%post devel
%install_info --info-dir=%_infodir %_infodir/%name.info.gz
%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%files
%defattr(-,root,root)
%doc CONFIGURING_FOR_LAN COPYING COPYING.BSD COPYING.LIB FAQ INSTALL
%doc README README.Force README.MotorolaMXP
/var/adm/fillup-templates/sysconfig.ipmi
/etc/init.d/ipmi
/sbin/rcipmi
%{_libdir}/libOpenIPMI*.so.*
###### perl files ######
%dir %{perl_vendorarch}/auto/OpenIPMI
%{perl_vendorarch}/auto/OpenIPMI/OpenIPMI.so
%{perl_vendorarch}/OpenIPMI.pm
%doc swig/OpenIPMI.i swig/perl/sample swig/perl/ipmi_powerctl
###### python files ######
%{py_sitedir}/*OpenIPMI.*
%doc swig/OpenIPMI.i
###### gui files ######
%dir %{py_sitedir}/openipmigui
%{py_sitedir}/openipmigui/*
%{_bindir}/openipmigui
###### ui files ######
%{_bindir}/ipmi_ui
%{_bindir}/ipmicmd
%{_bindir}/openipmicmd
%{_bindir}/ipmish
%{_bindir}/openipmish
%{_bindir}/solterm
%{_bindir}/rmcp_ping
%doc %{_mandir}/man1/ipmi_ui.1*
%doc %{_mandir}/man1/openipmicmd.1*
%doc %{_mandir}/man1/openipmish.1*
%doc %{_mandir}/man1/openipmigui.1*
%doc %{_mandir}/man1/solterm.1*
%doc %{_mandir}/man1/rmcp_ping.1*
%doc %{_mandir}/man7/ipmi_cmdlang.7*
%doc %{_mandir}/man7/openipmi_conparms.7*
###### lanserv files #####
%{_bindir}/ipmilan
%{_libdir}/libIPMIlanserv.so.*
%doc %{_mandir}/man8/ipmilan.8*
%files devel
%defattr(644,root,root,755)
%{_prefix}/include/*
%{_prefix}/%{_lib}/*.so
%{_prefix}/%{_lib}/pkgconfig/*.pc
%doc doc/IPMI.pdf
###################################################
%changelog