163 lines
4.4 KiB
RPMSpec
163 lines
4.4 KiB
RPMSpec
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
%global __python_sitelib %{python2_sitelib}
|
|
%else
|
|
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|
%global __python_sitelib %{python_sitelib}
|
|
%{?__python2:%global __python2 %{__python}}
|
|
%endif
|
|
|
|
%global debug_package %{nil}
|
|
%global commitdate 20130619
|
|
%global commit a1d968102e82fea06692c367849bc25418780f77
|
|
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
|
|
|
Name: pyelftools
|
|
Version: 0.22
|
|
Release: 0.3.git%{commitdate}.%{shortcommit}%{?dist}
|
|
Summary: Pure-Python library for parsing and analyzing ELF files
|
|
|
|
License: Public Domain
|
|
URL: https://github.com/eliben/%{name}
|
|
|
|
# We 'll use git snapshots, because upstream keeps master-branch
|
|
# in a usable, working state. See:
|
|
# https://github.com/eliben/pyelftools/wiki/Hacking-guide#contributing
|
|
Source0: %{url}/archive/%{commit}/%{name}-%{version}.git%{commitdate}.%{shortcommit}.tar.gz
|
|
|
|
Patch0: pyelftools-0.22-construct.patch
|
|
|
|
BuildRequires: python2-devel
|
|
BuildRequires: python-setuptools
|
|
BuildRequires: python-construct
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-setuptools
|
|
BuildRequires: python3-construct
|
|
%endif
|
|
|
|
%description
|
|
Pure-Python library for parsing and analyzing ELF files
|
|
and DWARF debugging information.
|
|
|
|
|
|
%package -n python-%{name}
|
|
Summary: Pure-Python library for parsing and analyzing ELF files
|
|
|
|
BuildArch: noarch
|
|
Requires: python-construct
|
|
Provides: %{name} = %{version}-%{release}
|
|
|
|
%description -n python-%{name}
|
|
Pure-Python library for parsing and analyzing ELF files
|
|
and DWARF debugging information.
|
|
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
%package -n python3-%{name}
|
|
Summary: Pure-Python library for parsing and analyzing ELF files
|
|
|
|
BuildArch: noarch
|
|
Requires: python3-construct
|
|
|
|
%description -n python3-%{name}
|
|
Pure-Python library for parsing and analyzing ELF files
|
|
and DWARF debugging information.
|
|
%endif
|
|
|
|
|
|
%prep
|
|
%setup -qn %{name}-%{commit}
|
|
%patch0 -p1
|
|
|
|
# remove bundled construct lib
|
|
rm -rf elftools/construct
|
|
|
|
# python3-package
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
rm -rf %{py3dir}
|
|
cp -a . %{py3dir}
|
|
|
|
# fix hashbang
|
|
sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/python3|' %{py3dir}/scripts/readelf.py
|
|
%endif
|
|
|
|
sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/python2|' scripts/readelf.py
|
|
|
|
|
|
%build
|
|
%{__python2} setup.py build
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
pushd %{py3dir}
|
|
%{__python3} setup.py build
|
|
%endif
|
|
|
|
|
|
%install
|
|
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
|
|
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/pyreadelf
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
pushd %{py3dir}
|
|
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
|
|
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/py3readelf
|
|
%endif
|
|
|
|
|
|
%check
|
|
%{__python2} test/run_all_unittests.py
|
|
%{__python2} test/run_examples_test.py
|
|
# tests may fail because of differences in output-formatting
|
|
# from binutils' readelf. See:
|
|
# https://github.com/eliben/pyelftools/wiki/Hacking-guide#tests
|
|
%{__python2} test/run_readelf_tests.py || :
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
%{__python3} test/run_all_unittests.py
|
|
%{__python3} test/run_examples_test.py
|
|
# tests may fail because of differences in output-formatting
|
|
# from binutils' readelf. See:
|
|
# https://github.com/eliben/pyelftools/wiki/Hacking-guide#tests
|
|
%{__python3} test/run_readelf_tests.py || :
|
|
%endif
|
|
|
|
|
|
%files -n python-%{name}
|
|
%doc CHANGES LICENSE README* TODO
|
|
%{__python_sitelib}/*elftools*
|
|
%{_bindir}/pyreadelf
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
|
%files -n python3-%{name}
|
|
%doc CHANGES LICENSE README* TODO
|
|
%{python3_sitelib}/*elftools*
|
|
%{_bindir}/py3readelf
|
|
%endif
|
|
|
|
|
|
%changelog
|
|
* 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
|
|
|
|
* Wed Oct 02 2013 Björn Esser <bjoern.esser@gmail.com> - 0.22-0.2.git20130619.a1d9681
|
|
- adaptions for new Python-guidelines
|
|
|
|
* 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)
|