2019-12-17 10:57:53 +00:00
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
2019-12-17 12:39:36 +00:00
|
|
|
%global py2readelf %{nil}
|
|
|
|
%global py3readelf %{_bindir}/pyreadelf
|
|
|
|
%global pyreadelf pyreadelf-3
|
2013-10-02 14:35:32 +00:00
|
|
|
%else
|
2019-12-17 12:39:36 +00:00
|
|
|
%global py2readelf %{_bindir}/pyreadelf
|
|
|
|
%global py3readelf %{nil}
|
|
|
|
%global pyreadelf pyreadelf-2
|
2013-10-02 14:35:32 +00:00
|
|
|
%endif
|
|
|
|
|
2019-06-11 18:14:05 +00:00
|
|
|
%if 0%{?fedora} && 0%{?fedora} < 32
|
2019-05-05 12:07:27 +00:00
|
|
|
%global with_python2 1
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if 0%{?rhel} && 0%{?rhel} < 8
|
|
|
|
%global with_python2 1
|
|
|
|
%endif
|
|
|
|
|
2019-12-17 13:09:22 +00:00
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
2019-05-05 12:07:27 +00:00
|
|
|
%global with_python3 1
|
|
|
|
%endif
|
|
|
|
|
2019-12-17 11:18:01 +00:00
|
|
|
# main package is archful to run tests everywhere but produces noarch packages
|
|
|
|
%global debug_package %{nil}
|
|
|
|
|
2018-06-17 12:45:15 +00:00
|
|
|
Summary: Pure-Python library for parsing and analyzing ELF files
|
|
|
|
Name: pyelftools
|
2020-10-30 12:29:18 +00:00
|
|
|
Version: 0.27
|
|
|
|
Release: 1%{?dist}
|
2018-06-17 12:45:15 +00:00
|
|
|
License: Public Domain
|
|
|
|
URL: https://github.com/eliben/pyelftools
|
2019-12-17 10:55:38 +00:00
|
|
|
# https://github.com/eliben/pyelftools/issues/260
|
|
|
|
#Source0: https://files.pythonhosted.org/packages/source/p/pyelftools/pyelftools-%{version}.tar.gz
|
|
|
|
Source0: https://github.com/eliben/pyelftools/archive/v%{version}/%{name}-%{version}.tar.gz
|
2018-06-17 12:45:15 +00:00
|
|
|
%global _description \
|
|
|
|
Pure-Python library for parsing and analyzing ELF files\
|
2013-08-16 18:14:27 +00:00
|
|
|
and DWARF debugging information.
|
2018-06-17 12:45:15 +00:00
|
|
|
%description %_description
|
2013-08-16 18:14:27 +00:00
|
|
|
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python2}
|
2018-06-17 12:45:15 +00:00
|
|
|
%package -n python2-%{name}
|
|
|
|
Summary: %{summary}
|
2019-12-17 13:11:37 +00:00
|
|
|
# https://github.com/eliben/pyelftools/issues/180
|
|
|
|
Provides: bundled(python2-construct) = 2.6
|
2019-12-17 11:18:01 +00:00
|
|
|
BuildRequires: python2-devel
|
|
|
|
BuildRequires: python2-setuptools
|
|
|
|
BuildArch: noarch
|
2017-08-19 21:31:42 +00:00
|
|
|
%{?python_provide:%python_provide python2-%{name}}
|
|
|
|
# Remove before F30
|
2018-06-17 12:45:15 +00:00
|
|
|
%description -n python2-%{name} %_description
|
2019-05-05 12:07:27 +00:00
|
|
|
%endif # with_python2
|
2013-08-16 18:14:27 +00:00
|
|
|
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python3}
|
2018-06-17 12:45:15 +00:00
|
|
|
%package -n python3-%{name}
|
2017-08-19 21:31:42 +00:00
|
|
|
Summary: %{summary}
|
2019-12-17 13:11:37 +00:00
|
|
|
# https://github.com/eliben/pyelftools/issues/180
|
|
|
|
Provides: bundled(python3-construct) = 2.6
|
2019-12-17 11:18:01 +00:00
|
|
|
BuildRequires: python3-devel
|
|
|
|
BuildRequires: python3-setuptools
|
|
|
|
BuildArch: noarch
|
2017-08-19 21:31:42 +00:00
|
|
|
%{?python_provide:%python_provide python3-%{name}}
|
2018-06-17 12:45:15 +00:00
|
|
|
%description -n python3-%{name} %_description
|
2013-08-16 18:14:27 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%prep
|
2018-06-17 12:45:15 +00:00
|
|
|
%setup -q
|
2013-08-16 18:14:27 +00:00
|
|
|
|
|
|
|
%build
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python2}
|
2018-06-17 12:45:15 +00:00
|
|
|
%{py2_build}
|
2019-05-05 12:07:27 +00:00
|
|
|
%endif
|
|
|
|
%if 0%{?with_python3}
|
2018-06-17 12:45:15 +00:00
|
|
|
%{py3_build}
|
2013-08-16 18:14:27 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%install
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python2}
|
2018-06-17 12:45:15 +00:00
|
|
|
%{py2_install}
|
2019-12-17 12:39:36 +00:00
|
|
|
pushd %{buildroot}%{_bindir}
|
|
|
|
mv readelf.py pyreadelf-%{python2_version}
|
|
|
|
ln -s pyreadelf-%{python2_version} pyreadelf-2
|
|
|
|
popd
|
2019-05-05 12:07:27 +00:00
|
|
|
%endif
|
|
|
|
%if 0%{?with_python3}
|
2018-06-17 12:45:15 +00:00
|
|
|
%{py3_install}
|
2019-12-17 12:39:36 +00:00
|
|
|
pushd %{buildroot}%{_bindir}
|
|
|
|
mv readelf.py pyreadelf-%{python3_version}
|
|
|
|
ln -s pyreadelf-%{python3_version} pyreadelf-3
|
|
|
|
popd
|
2013-08-16 18:14:27 +00:00
|
|
|
%endif
|
2019-12-17 12:39:36 +00:00
|
|
|
pushd %{buildroot}%{_bindir}
|
|
|
|
ln -s %{pyreadelf} pyreadelf
|
|
|
|
popd
|
2013-08-16 18:14:27 +00:00
|
|
|
|
|
|
|
%check
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python2}
|
2013-10-02 14:35:32 +00:00
|
|
|
%{__python2} test/run_all_unittests.py
|
|
|
|
%{__python2} test/run_examples_test.py
|
2019-12-17 11:18:01 +00:00
|
|
|
%ifarch x86_64
|
2013-08-16 18:14:27 +00:00
|
|
|
# tests may fail because of differences in output-formatting
|
|
|
|
# from binutils' readelf. See:
|
|
|
|
# https://github.com/eliben/pyelftools/wiki/Hacking-guide#tests
|
2013-10-02 14:35:32 +00:00
|
|
|
%{__python2} test/run_readelf_tests.py || :
|
2019-05-05 12:07:27 +00:00
|
|
|
%endif
|
2019-12-17 11:18:01 +00:00
|
|
|
%endif
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python3}
|
2013-08-16 18:14:27 +00:00
|
|
|
%{__python3} test/run_all_unittests.py
|
|
|
|
%{__python3} test/run_examples_test.py
|
2019-12-17 11:18:01 +00:00
|
|
|
%ifarch x86_64
|
2018-06-17 12:45:15 +00:00
|
|
|
# ditto
|
2013-08-16 18:14:27 +00:00
|
|
|
%{__python3} test/run_readelf_tests.py || :
|
|
|
|
%endif
|
2019-12-17 11:18:01 +00:00
|
|
|
%endif
|
2013-08-16 18:14:27 +00:00
|
|
|
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python2}
|
2017-08-19 13:39:14 +00:00
|
|
|
%files -n python2-%{name}
|
2018-06-17 12:45:15 +00:00
|
|
|
%license LICENSE
|
|
|
|
%doc CHANGES
|
2019-12-17 12:39:36 +00:00
|
|
|
%{py2readelf}
|
|
|
|
%{_bindir}/pyreadelf-%{python2_version}
|
|
|
|
%{_bindir}/pyreadelf-2
|
2018-06-17 12:45:15 +00:00
|
|
|
%{python2_sitelib}/elftools
|
|
|
|
%{python2_sitelib}/pyelftools-*.egg-info
|
2019-05-05 12:07:27 +00:00
|
|
|
%endif
|
2013-08-16 18:14:27 +00:00
|
|
|
|
2019-05-05 12:07:27 +00:00
|
|
|
%if 0%{?with_python3}
|
2013-08-16 18:14:27 +00:00
|
|
|
%files -n python3-%{name}
|
2018-06-17 12:45:15 +00:00
|
|
|
%license LICENSE
|
|
|
|
%doc CHANGES
|
2019-12-17 12:39:36 +00:00
|
|
|
%{py3readelf}
|
|
|
|
%{_bindir}/pyreadelf-%{python3_version}
|
|
|
|
%{_bindir}/pyreadelf-3
|
2018-06-17 12:45:15 +00:00
|
|
|
%{python3_sitelib}/elftools
|
|
|
|
%{python3_sitelib}/pyelftools-*.egg-info
|
2013-08-16 18:14:27 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%changelog
|
2020-10-30 12:29:18 +00:00
|
|
|
* Fri Oct 30 2020 Dominik Mierzejewski <rpm@greysector.net> - 0.27-1
|
|
|
|
- update to 0.27 (#1891845)
|
|
|
|
|
2020-07-28 23:17:27 +00:00
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.26-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
2020-05-26 00:57:33 +00:00
|
|
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.26-3
|
|
|
|
- Rebuilt for Python 3.9
|
|
|
|
|
2020-01-30 10:07:58 +00:00
|
|
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.26-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
2019-12-17 10:55:38 +00:00
|
|
|
* Tue Dec 17 2019 Dominik Mierzejewski <rpm@greysector.net> - 0.26-1
|
|
|
|
- update to 0.26 (#1780153)
|
2019-12-17 11:18:01 +00:00
|
|
|
- make main package archful to run tests on all arches
|
|
|
|
(pythonN-pyelftools subpackages are still noarch)
|
|
|
|
- run readelf tests on x86_64 only for now
|
2019-12-17 12:39:36 +00:00
|
|
|
- rename binaries to conform to Python packaging guidelines
|
2019-12-17 13:09:22 +00:00
|
|
|
- enable python3 subpackage for EPEL7
|
2019-12-17 13:11:37 +00:00
|
|
|
- declare bundled old construct module instead of needlessly requiring it
|
2019-12-17 10:55:38 +00:00
|
|
|
|
2019-10-03 11:59:22 +00:00
|
|
|
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.25-5
|
|
|
|
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
|
|
|
|
2019-08-19 08:23:40 +00:00
|
|
|
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.25-4
|
|
|
|
- Rebuilt for Python 3.8
|
|
|
|
|
2019-07-26 11:39:26 +00:00
|
|
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.25-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
2019-06-11 18:14:05 +00:00
|
|
|
* Tue Jun 11 2019 Terje Rosten <terje.rosten@ntnu.no> - 0.25-2
|
|
|
|
- Still support Python 2 on Fedora 31
|
|
|
|
|
2019-05-05 12:07:27 +00:00
|
|
|
* Sun May 05 2019 Terje Rosten <terje.rosten@ntnu.no> - 0.25-1
|
|
|
|
- 0.25
|
|
|
|
- Use bundled construct as construct 2.9 is incompatible
|
|
|
|
- Drop Python 2 stuff on el8 and Python 31 or newer
|
|
|
|
|
2019-02-02 05:09:21 +00:00
|
|
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.24-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
2018-07-13 23:06:08 +00:00
|
|
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.24-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
2018-06-19 08:50:34 +00:00
|
|
|
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.24-2
|
|
|
|
- Rebuilt for Python 3.7
|
|
|
|
|
2018-06-17 12:45:15 +00:00
|
|
|
* Sun Jun 17 2018 Terje Rosten <terje.rosten@ntnu.no> - 0.24-1
|
|
|
|
- 0.24
|
|
|
|
- some clean up
|
|
|
|
- remove naked provide for Fedora 29 and later
|
|
|
|
- switch to Python 3 for pyreadelf for Fedora 29 and later
|
|
|
|
|
2018-02-21 01:47:25 +00:00
|
|
|
* Wed Feb 21 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.22-0.16.git20130619.a1d9681
|
|
|
|
- Update Python 2 dependency declarations to new packaging standards
|
|
|
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
|
|
|
|
2018-02-09 06:07:45 +00:00
|
|
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.15.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
2017-08-19 13:39:14 +00:00
|
|
|
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.22-0.14.git20130619.a1d9681
|
|
|
|
- Python 2 binary package renamed to python2-pyelftools
|
|
|
|
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
|
|
|
|
2017-08-03 06:31:10 +00:00
|
|
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.13.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
|
2017-07-27 09:16:37 +00:00
|
|
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.12.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
|
2017-02-11 08:03:35 +00:00
|
|
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.11.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
|
2016-12-19 17:20:36 +00:00
|
|
|
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.22-0.10.git20130619.a1d9681
|
|
|
|
- Rebuild for Python 3.6
|
|
|
|
|
2016-07-19 08:28:01 +00:00
|
|
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.9.git20130619.a1d9681
|
|
|
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
|
|
|
|
2016-02-04 18:41:05 +00:00
|
|
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-0.8.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
|
2015-11-10 14:56:13 +00:00
|
|
|
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.7.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
|
|
|
|
2015-06-18 18:06:34 +00:00
|
|
|
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.6.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
|
2014-08-17 20:25:20 +00:00
|
|
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.5.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
|
2014-06-07 17:50:28 +00:00
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-0.4.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
|
2014-05-27 21:45:44 +00:00
|
|
|
* Tue May 27 2014 Kalev Lember <kalevlember@gmail.com> - 0.22-0.3.git20130619.a1d9681
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
|
|
|
|
|
2013-10-02 14:35:32 +00:00
|
|
|
* Wed Oct 02 2013 Björn Esser <bjoern.esser@gmail.com> - 0.22-0.2.git20130619.a1d9681
|
|
|
|
- adaptions for new Python-guidelines
|
|
|
|
|
2013-08-16 18:14:27 +00:00
|
|
|
* Fri Aug 16 2013 Björn Esser <bjoern.esser@gmail.com> - 0.22-0.1.git20130619.a1d9681
|
|
|
|
- update to latest pre-release git snapshot
|
|
|
|
- add python3-package
|
|
|
|
- build on all arches to get some conclusion from testsuite,
|
|
|
|
but create noarch pkgs
|
|
|
|
|
|
|
|
* Sat Jun 08 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.21-2
|
|
|
|
- Remove bundled construct lib
|
|
|
|
|
|
|
|
* Thu May 09 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.21-1
|
|
|
|
- 0.21
|
|
|
|
- Run test
|
|
|
|
- Updated source url
|
|
|
|
- Drop defattr
|
|
|
|
|
|
|
|
* Wed Jun 06 2012 Kushal Das <kushal@fedoraproject.org> 0.20-1
|
|
|
|
- Intial package (#829676)
|