25ae9af
%if 0%{?fedora} > 28 || 0%{?rhel} >= 8
25ae9af
%global         py2readelf py2readelf
25ae9af
%global         py3readelf pyreadelf
Björn Esser 0df0c98
%else
25ae9af
%global         py2readelf pyreadelf
25ae9af
%global         py3readelf py3readelf
Björn Esser 0df0c98
%endif
Björn Esser 0df0c98
e04ae5a
%if 0%{?fedora} && 0%{?fedora} < 31
e04ae5a
%global         with_python2 1
e04ae5a
%endif
e04ae5a
e04ae5a
%if 0%{?rhel} && 0%{?rhel} < 8
e04ae5a
%global         with_python2 1
e04ae5a
%endif
e04ae5a
e04ae5a
%if 0%{?fedora} || 0%{?rhel} >= 8
e04ae5a
%global         with_python3 1
e04ae5a
%endif
e04ae5a
25ae9af
Summary:        Pure-Python library for parsing and analyzing ELF files
25ae9af
Name:           pyelftools
e04ae5a
Version:        0.25
e04ae5a
Release:        1%{?dist}
25ae9af
License:        Public Domain
25ae9af
URL:            https://github.com/eliben/pyelftools
25ae9af
Source0:        https://files.pythonhosted.org/packages/source/p/pyelftools/pyelftools-%{version}.tar.gz
e04ae5a
%if 0%{?with_python2}
25ae9af
BuildRequires:  python2-devel
25ae9af
BuildRequires:  python2-setuptools
e04ae5a
%endif
e04ae5a
%if 0%{?with_python3}
25ae9af
BuildRequires:  python3-devel
25ae9af
BuildRequires:  python3-setuptools
Björn Esser 8b33398
%endif
25ae9af
BuildArch:      noarch
25ae9af
%global _description \
25ae9af
Pure-Python library for parsing and analyzing ELF files\
Björn Esser 8b33398
and DWARF debugging information.
25ae9af
%description   %_description
Björn Esser 8b33398
e04ae5a
%if 0%{?with_python2}
25ae9af
%package     -n python2-%{name}
25ae9af
Summary:        %{summary}
25ae9af
Requires:       python2-construct
e1eb14b
%{?python_provide:%python_provide python2-%{name}}
e1eb14b
# Remove before F30
25ae9af
%if 0%{?fedora} < 29
25ae9af
Provides:       %{name} = %{version}-%{release}
25ae9af
%endif
25ae9af
%description -n python2-%{name} %_description
e04ae5a
%endif # with_python2
Björn Esser 8b33398
e04ae5a
%if 0%{?with_python3}
25ae9af
%package     -n python3-%{name}
e1eb14b
Summary:	%{summary}
Björn Esser 8b33398
Requires:	python3-construct
e1eb14b
%{?python_provide:%python_provide python3-%{name}}
25ae9af
%description -n python3-%{name} %_description
Björn Esser 8b33398
%endif
Björn Esser 8b33398
Björn Esser 8b33398
%prep
25ae9af
%setup -q
Björn Esser 8b33398
Björn Esser 8b33398
%build
e04ae5a
%if 0%{?with_python2}
25ae9af
%{py2_build}
e04ae5a
%endif
e04ae5a
%if 0%{?with_python3}
25ae9af
%{py3_build}
Björn Esser 8b33398
%endif
Björn Esser 8b33398
Björn Esser 8b33398
%install
e04ae5a
%if 0%{?with_python2}
25ae9af
%{py2_install}
25ae9af
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py2readelf}
e04ae5a
%endif
e04ae5a
%if 0%{?with_python3}
25ae9af
%{py3_install}
25ae9af
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py3readelf}
Björn Esser 8b33398
%endif
Björn Esser 8b33398
Björn Esser 8b33398
%check
e04ae5a
%if 0%{?with_python2}
Björn Esser 0df0c98
%{__python2} test/run_all_unittests.py
Björn Esser 0df0c98
%{__python2} test/run_examples_test.py
Björn Esser 8b33398
# tests may fail because of differences in output-formatting
Björn Esser 8b33398
# from binutils' readelf.  See:
Björn Esser 8b33398
# https://github.com/eliben/pyelftools/wiki/Hacking-guide#tests
Björn Esser 0df0c98
%{__python2} test/run_readelf_tests.py || :
e04ae5a
%endif
e04ae5a
%if 0%{?with_python3}
Björn Esser 8b33398
%{__python3} test/run_all_unittests.py
Björn Esser 8b33398
%{__python3} test/run_examples_test.py
25ae9af
# ditto
Björn Esser 8b33398
%{__python3} test/run_readelf_tests.py || :
Björn Esser 8b33398
%endif
Björn Esser 8b33398
e04ae5a
%if 0%{?with_python2}
60745ef
%files -n python2-%{name}
25ae9af
%license LICENSE
25ae9af
%doc CHANGES
25ae9af
%{_bindir}/%{py2readelf}
25ae9af
%{python2_sitelib}/elftools
25ae9af
%{python2_sitelib}/pyelftools-*.egg-info
e04ae5a
%endif
Björn Esser 8b33398
e04ae5a
%if 0%{?with_python3}
Björn Esser 8b33398
%files -n python3-%{name}
25ae9af
%license LICENSE
25ae9af
%doc CHANGES
25ae9af
%{_bindir}/%{py3readelf}
25ae9af
%{python3_sitelib}/elftools
25ae9af
%{python3_sitelib}/pyelftools-*.egg-info
Björn Esser 8b33398
%endif
Björn Esser 8b33398
Björn Esser 8b33398
%changelog
e04ae5a
* Sun May 05 2019 Terje Rosten <terje.rosten@ntnu.no> - 0.25-1
e04ae5a
- 0.25
e04ae5a
- Use bundled construct as construct 2.9 is incompatible
e04ae5a
- Drop Python 2 stuff on el8 and Python 31 or newer
e04ae5a
292c54a
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.24-4
292c54a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
292c54a
279a2ef
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.24-3
279a2ef
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
279a2ef
2821b35
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.24-2
2821b35
- Rebuilt for Python 3.7
2821b35
25ae9af
* Sun Jun 17 2018 Terje Rosten <terje.rosten@ntnu.no> - 0.24-1
25ae9af
- 0.24
25ae9af
- some clean up
25ae9af
- remove naked provide for Fedora 29 and later
25ae9af
- switch to Python 3 for pyreadelf for Fedora 29 and later
25ae9af
e8bc8cb
* Wed Feb 21 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.22-0.16.git20130619.a1d9681
e8bc8cb
- Update Python 2 dependency declarations to new packaging standards
e8bc8cb
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
e8bc8cb
1dfc702
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.15.git20130619.a1d9681
1dfc702
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
1dfc702
60745ef
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.22-0.14.git20130619.a1d9681
60745ef
- Python 2 binary package renamed to python2-pyelftools
60745ef
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
60745ef
24ea181
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.13.git20130619.a1d9681
24ea181
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
24ea181
4f0ad3e
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.12.git20130619.a1d9681
4f0ad3e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
4f0ad3e
72bf0b0
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.11.git20130619.a1d9681
72bf0b0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
72bf0b0
eccb93b
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.22-0.10.git20130619.a1d9681
eccb93b
- Rebuild for Python 3.6
eccb93b
e3f9fd3
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.9.git20130619.a1d9681
e3f9fd3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
e3f9fd3
f148f80
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.8.git20130619.a1d9681
f148f80
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
f148f80
40e5903
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.7.git20130619.a1d9681
40e5903
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
40e5903
1b46ca6
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.6.git20130619.a1d9681
1b46ca6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
1b46ca6
f0aeace
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.5.git20130619.a1d9681
f0aeace
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
f0aeace
7ec9589
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.4.git20130619.a1d9681
7ec9589
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
7ec9589
58461a8
* Tue May 27 2014 Kalev Lember <kalevlember@gmail.com> - 0.22-0.3.git20130619.a1d9681
58461a8
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
58461a8
Björn Esser 0df0c98
* Wed Oct 02 2013 Björn Esser <bjoern.esser@gmail.com> - 0.22-0.2.git20130619.a1d9681
Björn Esser 0df0c98
- adaptions for new Python-guidelines
Björn Esser 0df0c98
Björn Esser 8b33398
* Fri Aug 16 2013 Björn Esser <bjoern.esser@gmail.com> - 0.22-0.1.git20130619.a1d9681
Björn Esser 8b33398
- update to latest pre-release git snapshot
Björn Esser 8b33398
- add python3-package
Björn Esser 8b33398
- build on all arches to get some conclusion from testsuite,
Björn Esser 8b33398
  but create noarch pkgs
Björn Esser 8b33398
Björn Esser 8b33398
* Sat Jun 08 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.21-2
Björn Esser 8b33398
- Remove bundled construct lib
Björn Esser 8b33398
Björn Esser 8b33398
* Thu May 09 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.21-1
Björn Esser 8b33398
- 0.21
Björn Esser 8b33398
- Run test
Björn Esser 8b33398
- Updated source url
Björn Esser 8b33398
- Drop defattr
Björn Esser 8b33398
Björn Esser 8b33398
* Wed Jun 06 2012 Kushal Das <kushal@fedoraproject.org> 0.20-1
Björn Esser 8b33398
- Intial package (#829676)