Summary: IPMI abstraction layer
Summary(pl.UTF-8): Warstwa abstrakcji IPMI
Name: OpenIPMI
-Version: 2.0.18
-Release: 8.1
+Version: 2.0.33
+Release: 2
License: LGPL v2+ (library), GPL v2+ (ipmicmd)
Group: Libraries
-Source0: http://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
-# Source0-md5: 8392539200fbda670503770292dfbb8f
-Patch0: %{name}-link.patch
-Patch1: %{name}-popt.patch
-Patch2: %{name}-pthread.patch
+Source0: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
+# Source0-md5: 923d2914dbbc3307712f8c58401bab0f
+Patch0: %{name}-tcl.patch
URL: http://openipmi.sourceforge.net/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.50
+BuildRequires: autoconf-archive >= 2017.03.21
BuildRequires: automake
BuildRequires: gcc >= 5:3.2
BuildRequires: gdbm-devel
BuildRequires: perl-devel
BuildRequires: pkgconfig
BuildRequires: popt-devel
-BuildRequires: python-devel
-%{?with_gui:BuildRequires: python-tkinter}
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-modules
+%{?with_gui:BuildRequires: python3-tkinter}
+BuildRequires: readline-devel
+BuildRequires: sed >= 4.0
BuildRequires: tcl-devel
BuildRequires: rpm-pythonprov
BuildRequires: swig-perl >= 1.3.25
-BuildRequires: swig-python >= 1.3.25
+BuildRequires: swig-python >= 2.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# refers to global ipmi_cmdlang_{global_err,report_event} symbols
-# and ncurses nodelay,keypad,meta (now in libtinfo, not found somehow)
-%define skip_post_check_so libOpenIPMI(cmdlang|ui)\.so\..*
+# libOpenIPMIcmdlang refers to global ipmi_cmdlang_{global_err,report_event} symbols
+# libIPMIlanserv uses symbols from binaries (ipmilan, ipmi_sim)
+%define skip_post_check_so libOpenIPMIcmdlang\.so\..* libIPMIlanserv\.so\..*
%description
OpenIPMI project aims to develop an open code base to allow access to
%description -n perl-%{name} -l pl.UTF-8
Perlowy interfejs do OpenIPMI.
-%package -n python-%{name}
+%package -n python3-%{name}
Summary: Python interface to OpenIPMI
Summary(pl.UTF-8): Pythonowy interfejs do OpenIPMI
Group: Development/Languages/Python
Requires: %{name} = %{version}-%{release}
-%pyrequires_eq python-libs
+Obsoletes: python-OpenIPMI < 2.0.32
-%description -n python-%{name}
+%description -n python3-%{name}
Python interface to OpenIPMI.
-%description -n python-%{name} -l pl.UTF-8
+%description -n python3-%{name} -l pl.UTF-8
Pythonowy interfejs do OpenIPMI.
%package gui
Summary: OpenIPMI GUI
Summary(pl.UTF-8): Graficzny interfejs użytkownika do OpenIPMI
Group: X11/Applications
-Requires: python-%{name} = %{version}-%{release}
-Requires: python-tkinter
+Requires: python3-%{name} = %{version}-%{release}
+Requires: python3-tkinter
%description gui
OpenIPMI GUI.
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+
+%{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' swig/python/openipmigui.py
+%{__rm} m4/ax_python_devel.m4
%build
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
+%{__autoheader}
%{__automake}
-CPPFLAGS="-I/usr/include/ncurses"
+CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses"
%configure \
- --with-pythoninstalllib=%{py_sitedir} \
- --without-glib12 \
- %{!?with_gui:--without-tkinter}
+ PYTHON=%{__python3} \
+ --with-pythoninstall=%{py3_sitescriptdir} \
+ --with-pythoninstalllib=%{py3_sitedir} \
+ --with-tkinter%{!?with_gui:=no}
%{__make} %{?with_gui:-j1}
%install
%{__make} install -j1 \
DESTDIR=$RPM_BUILD_ROOT
-%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a} \
- $RPM_BUILD_ROOT%{py_sitescriptdir}/*.py \
- %{?with_gui:$RPM_BUILD_ROOT%{py_sitescriptdir}/openipmigui/*.py}
+%py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
+
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/*.{la,a}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc CONFIGURING_FOR_LAN ChangeLog FAQ README* TODO
+%attr(755,root,root) %{_bindir}/ipmi_sim
%attr(755,root,root) %{_bindir}/ipmi_ui
%attr(755,root,root) %{_bindir}/ipmicmd
%attr(755,root,root) %{_bindir}/ipmilan
%attr(755,root,root) %{_bindir}/ipmish
+%attr(755,root,root) %{_bindir}/openipmi_eventd
%attr(755,root,root) %{_bindir}/openipmicmd
%attr(755,root,root) %{_bindir}/openipmish
%attr(755,root,root) %{_bindir}/rmcp_ping
+%attr(755,root,root) %{_bindir}/sdrcomp
%attr(755,root,root) %{_bindir}/solterm
%attr(755,root,root) %{_libdir}/libIPMIlanserv.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libIPMIlanserv.so.0
%attr(755,root,root) %ghost %{_libdir}/libOpenIPMIui.so.1
%attr(755,root,root) %{_libdir}/libOpenIPMIutils.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libOpenIPMIutils.so.0
+%dir %{_sysconfdir}/ipmi
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ipmi/ipmisim1.emu
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ipmi/lan.conf
+%{_mandir}/man1/ipmi_sim.1*
%{_mandir}/man1/ipmi_ui.1*
+%{_mandir}/man1/openipmi_eventd.1*
%{_mandir}/man1/openipmicmd.1*
%{_mandir}/man1/openipmish.1*
%{_mandir}/man1/rmcp_ping.1*
%{_mandir}/man1/solterm.1*
+%{_mandir}/man5/ipmi_lan.5*
+%{_mandir}/man5/ipmi_sim_cmd.5*
%{_mandir}/man7/ipmi_cmdlang.7*
%{_mandir}/man7/openipmi_conparms.7*
%{_mandir}/man8/ipmilan.8*
%{_libdir}/libOpenIPMItcl.la
%{_libdir}/libOpenIPMIui.la
%{_libdir}/libOpenIPMIutils.la
-%{_includedir}/%{name}
+%{_includedir}/OpenIPMI
%{_pkgconfigdir}/OpenIPMI.pc
%{_pkgconfigdir}/OpenIPMIcmdlang.pc
%{_pkgconfigdir}/OpenIPMIglib.pc
%dir %{perl_vendorarch}/auto/OpenIPMI
%attr(755,root,root) %{perl_vendorarch}/auto/OpenIPMI/OpenIPMI.so
-%files -n python-%{name}
+%files -n python3-%{name}
%defattr(644,root,root,755)
-%attr(755,root,root) %{py_sitedir}/_OpenIPMI.so
-%{py_sitescriptdir}/OpenIPMI.py[co]
+%attr(755,root,root) %{py3_sitedir}/_OpenIPMI.so
+%{py3_sitescriptdir}/OpenIPMI.py
+%{py3_sitescriptdir}/__pycache__/OpenIPMI.cpython-*.py[co]
%if %{with gui}
%files gui
%defattr(644,root,root,755)
%doc swig/python/openipmigui/TODO
%attr(755,root,root) %{_bindir}/openipmigui
-%dir %{py_sitescriptdir}/openipmigui
-%{py_sitescriptdir}/openipmigui/*.py[co]
+%{py3_sitescriptdir}/openipmigui
%{_mandir}/man1/openipmigui.1*
%endif