## START: Set by rpmautospec
## (rpmautospec version 0.3.0)
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%global mainlibsover 10
%global addrlibsover 3

Name:           libkdumpfile
Version:        0.5.0
Release:        %autorelease
Summary:        Kernel coredump file access

License:        LGPLv3+ or GPLv2+
URL:            https://github.com/ptesarik/libkdumpfile
Source:         %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz

BuildRequires:  gcc-c++
BuildRequires:  doxygen
BuildRequires:  make
BuildRequires:  sed
BuildRequires:  libzstd-devel
BuildRequires:  lzo-devel
BuildRequires:  python3-devel
BuildRequires:  snappy-devel
BuildRequires:  zlib-devel

%global _description %{expand:
libkdumpfile is a library to read kdump-compressed kernel core dumps.}

%description %{_description}

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    devel %{_description}

The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package        doc
Summary:        Documentation for %{name}

%description    doc %{_description}

The %{name}-doc package contains documentation for %{name}.

%package -n python3-%{name}
Summary:        Python bindings for %{name}
Obsoletes:      %{name}-python < 0.4.0-6
Provides:       %{name}-python = %{version}-%{release}
Provides:       %{name}-python%{?_isa} = %{version}-%{release}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n python3-%{name} %{_description}

The python3-%{name} package contains Python bindings for %{name}.

%package        util
Summary:        Utilities to read kernel core dumps
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    util %{_description}
The %{name}-devel package contains misc utilities built with %{name}.


%prep
%autosetup -p1
# Remove unneeded shebang
sed -e "\|#!/usr/bin/env python|d" -i python/*/*.py


%build
%configure
%make_build
%{__make} doxygen-doc


%install
%make_install
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
# static artifacts are needed to run tests, but we don't
# want to ship them
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'


%check
%make_build check


%files
%license COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv3
%doc README.md NEWS
%{_libdir}/libaddrxlat.so.%{addrlibsover}{,.*}
%{_libdir}/libkdumpfile.so.%{mainlibsover}{,.*}

%files devel
%{_includedir}/%{name}/
%{_libdir}/libaddrxlat.so
%{_libdir}/libkdumpfile.so
%{_libdir}/pkgconfig/libaddrxlat.pc
%{_libdir}/pkgconfig/libkdumpfile.pc

%files doc
%license COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv3
%doc doc/html

%files -n python3-%{name}
%{python3_sitearch}/%{name}-%{version}-*.egg-info
%{python3_sitearch}/addrxlat/
%{python3_sitearch}/_addrxlat.*.so
%{python3_sitearch}/kdumpfile/
%{python3_sitearch}/_kdumpfile.*.so

%files util
%{_bindir}/dumpattr
%{_bindir}/listxendoms
%{_bindir}/showxlat

%changelog
* Mon Aug 15 2022 Michel Alexandre Salim <salimma@fedoraproject.org> 0.5.0-1
- Update to 0.5.0

* Sat Aug 06 2022 Michel Alexandre Salim <michel@michel-slm.name> 0.4.1^202208069184e5c-1
- Include diskdump endianness fix

* Fri Aug 05 2022 Michel Alexandre Salim <michel@michel-slm.name> 0.4.1^202207144829feb-1
- Update to latest Git snapshot

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> 0.4.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> 0.4.1-6
- Rebuilt for Python 3.11

* Thu May 19 2022 Davide Cavalca <dcavalca@fedoraproject.org> 0.4.1-5
- Number the patches for epel8 compatibility

* Thu May 12 2022 Michel Alexandre Salim <salimma@fedoraproject.org> 0.4.1-4
- Re-enable all tests on x86_64

* Thu May 12 2022 Michel Alexandre Salim <salimma@fedoraproject.org> 0.4.1-3
- Disable failing tests to work around upstream issue #40

* Wed May 11 2022 Michel Alexandre Salim <salimma@fedoraproject.org> 0.4.1-2
- Enable tests

* Thu Apr 21 2022 Michel Alexandre Salim <salimma@fedoraproject.org> 0.4.1-1
- Update to 0.4.1

* Tue Apr 12 2022 Neal Gompa <ngompa@datto.com> - 0.4.0-6
- Update spec to comply with packaging guidelines
  + Use correct globbing for libraries in file list
  + Rename Python binding subpackage to match Python guidelines
  + Stop globbing binaries in util subpackage

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.4.0-3
- Rebuilt for Python 3.10

* Fri Apr  2 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.4.0-2
- Fix license

* Fri Feb 26 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.4.0-1
- Initial package