0.24
some clean up remove naked provide for Fedora 29 and later switch to Python 3 for pyreadelf for Fedora 29 and later
This commit is contained in:
parent
e8bc8cb9b5
commit
25ae9af04d
@ -1,5 +1,5 @@
|
|||||||
diff --git a/elftools/common/construct_utils.py b/elftools/common/construct_utils.py
|
diff --git a/elftools/common/construct_utils.py b/elftools/common/construct_utils.py
|
||||||
index 53caa97..41c2815 100644
|
index 8ace30e..321ab51 100644
|
||||||
--- a/elftools/common/construct_utils.py
|
--- a/elftools/common/construct_utils.py
|
||||||
+++ b/elftools/common/construct_utils.py
|
+++ b/elftools/common/construct_utils.py
|
||||||
@@ -6,7 +6,7 @@
|
@@ -6,7 +6,7 @@
|
||||||
@ -12,7 +12,7 @@ index 53caa97..41c2815 100644
|
|||||||
|
|
||||||
class RepeatUntilExcluding(Subconstruct):
|
class RepeatUntilExcluding(Subconstruct):
|
||||||
diff --git a/elftools/common/utils.py b/elftools/common/utils.py
|
diff --git a/elftools/common/utils.py b/elftools/common/utils.py
|
||||||
index 7bd1d5b..8b2400b 100644
|
index d8acefa..f6d017c 100644
|
||||||
--- a/elftools/common/utils.py
|
--- a/elftools/common/utils.py
|
||||||
+++ b/elftools/common/utils.py
|
+++ b/elftools/common/utils.py
|
||||||
@@ -9,7 +9,7 @@
|
@@ -9,7 +9,7 @@
|
||||||
@ -25,7 +25,7 @@ index 7bd1d5b..8b2400b 100644
|
|||||||
|
|
||||||
def bytelist2string(bytelist):
|
def bytelist2string(bytelist):
|
||||||
diff --git a/elftools/dwarf/enums.py b/elftools/dwarf/enums.py
|
diff --git a/elftools/dwarf/enums.py b/elftools/dwarf/enums.py
|
||||||
index 6508764..a474d32 100644
|
index 9140f91..17f5c74 100644
|
||||||
--- a/elftools/dwarf/enums.py
|
--- a/elftools/dwarf/enums.py
|
||||||
+++ b/elftools/dwarf/enums.py
|
+++ b/elftools/dwarf/enums.py
|
||||||
@@ -6,7 +6,7 @@
|
@@ -6,7 +6,7 @@
|
||||||
@ -34,11 +34,11 @@ index 6508764..a474d32 100644
|
|||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
-from ..construct import Pass
|
-from ..construct import Pass
|
||||||
+from construct import Pass
|
+from construct import Pass
|
||||||
|
from ..common.py3compat import iteritems
|
||||||
|
|
||||||
|
|
||||||
ENUM_DW_TAG = dict(
|
|
||||||
diff --git a/elftools/dwarf/structs.py b/elftools/dwarf/structs.py
|
diff --git a/elftools/dwarf/structs.py b/elftools/dwarf/structs.py
|
||||||
index 39e4815..c50a874 100644
|
index e25dc84..cfc4a85 100644
|
||||||
--- a/elftools/dwarf/structs.py
|
--- a/elftools/dwarf/structs.py
|
||||||
+++ b/elftools/dwarf/structs.py
|
+++ b/elftools/dwarf/structs.py
|
||||||
@@ -7,7 +7,7 @@
|
@@ -7,7 +7,7 @@
|
||||||
@ -50,21 +50,8 @@ index 39e4815..c50a874 100644
|
|||||||
UBInt8, UBInt16, UBInt32, UBInt64, ULInt8, ULInt16, ULInt32, ULInt64,
|
UBInt8, UBInt16, UBInt32, UBInt64, ULInt8, ULInt16, ULInt32, ULInt64,
|
||||||
SBInt8, SBInt16, SBInt32, SBInt64, SLInt8, SLInt16, SLInt32, SLInt64,
|
SBInt8, SBInt16, SBInt32, SBInt64, SLInt8, SLInt16, SLInt32, SLInt64,
|
||||||
Adapter, Struct, ConstructError, If, RepeatUntil, Field, Rename, Enum,
|
Adapter, Struct, ConstructError, If, RepeatUntil, Field, Rename, Enum,
|
||||||
diff --git a/elftools/elf/elffile.py b/elftools/elf/elffile.py
|
|
||||||
index 458273f..a4d62bd 100644
|
|
||||||
--- a/elftools/elf/elffile.py
|
|
||||||
+++ b/elftools/elf/elffile.py
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
from ..common.py3compat import BytesIO
|
|
||||||
from ..common.exceptions import ELFError
|
|
||||||
from ..common.utils import struct_parse, elf_assert
|
|
||||||
-from ..construct import ConstructError
|
|
||||||
+from construct import ConstructError
|
|
||||||
from .structs import ELFStructs
|
|
||||||
from .sections import (
|
|
||||||
Section, StringTableSection, SymbolTableSection,
|
|
||||||
diff --git a/elftools/elf/enums.py b/elftools/elf/enums.py
|
diff --git a/elftools/elf/enums.py b/elftools/elf/enums.py
|
||||||
index deb9f35..7b778c7 100644
|
index dbeb20e..5767d41 100644
|
||||||
--- a/elftools/elf/enums.py
|
--- a/elftools/elf/enums.py
|
||||||
+++ b/elftools/elf/enums.py
|
+++ b/elftools/elf/enums.py
|
||||||
@@ -6,7 +6,7 @@
|
@@ -6,7 +6,7 @@
|
||||||
@ -89,21 +76,21 @@ index 4a4473f..d4f4b75 100644
|
|||||||
from ..common.utils import struct_parse, elf_assert
|
from ..common.utils import struct_parse, elf_assert
|
||||||
from .sections import Section, Symbol
|
from .sections import Section, Symbol
|
||||||
|
|
||||||
diff --git a/elftools/elf/sections.py b/elftools/elf/sections.py
|
diff --git a/elftools/elf/notes.py b/elftools/elf/notes.py
|
||||||
index ce62450..99b6613 100644
|
index b3a41d6..526135c 100644
|
||||||
--- a/elftools/elf/sections.py
|
--- a/elftools/elf/notes.py
|
||||||
+++ b/elftools/elf/sections.py
|
+++ b/elftools/elf/notes.py
|
||||||
@@ -6,7 +6,7 @@
|
@@ -8,7 +8,7 @@
|
||||||
# Eli Bendersky (eliben@gmail.com)
|
|
||||||
# This code is in the public domain
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
from ..common.py3compat import bytes2str
|
||||||
|
from ..common.utils import struct_parse, roundup
|
||||||
-from ..construct import CString
|
-from ..construct import CString
|
||||||
+from construct import CString
|
+from construct import CString
|
||||||
from ..common.utils import struct_parse, elf_assert, parse_cstring_from_stream
|
|
||||||
|
|
||||||
|
|
||||||
|
def iter_notes(elffile, offset, size):
|
||||||
diff --git a/elftools/elf/segments.py b/elftools/elf/segments.py
|
diff --git a/elftools/elf/segments.py b/elftools/elf/segments.py
|
||||||
index bc54da2..dfb3a14 100644
|
index c1c0279..8464248 100644
|
||||||
--- a/elftools/elf/segments.py
|
--- a/elftools/elf/segments.py
|
||||||
+++ b/elftools/elf/segments.py
|
+++ b/elftools/elf/segments.py
|
||||||
@@ -6,7 +6,7 @@
|
@@ -6,7 +6,7 @@
|
||||||
@ -114,9 +101,9 @@ index bc54da2..dfb3a14 100644
|
|||||||
+from construct import CString
|
+from construct import CString
|
||||||
from ..common.utils import struct_parse
|
from ..common.utils import struct_parse
|
||||||
from .constants import SH_FLAGS
|
from .constants import SH_FLAGS
|
||||||
|
from .notes import iter_notes
|
||||||
diff --git a/elftools/elf/structs.py b/elftools/elf/structs.py
|
diff --git a/elftools/elf/structs.py b/elftools/elf/structs.py
|
||||||
index 0862400..51b1715 100644
|
index d2404ab..2570b4f 100644
|
||||||
--- a/elftools/elf/structs.py
|
--- a/elftools/elf/structs.py
|
||||||
+++ b/elftools/elf/structs.py
|
+++ b/elftools/elf/structs.py
|
||||||
@@ -7,7 +7,7 @@
|
@@ -7,7 +7,7 @@
|
||||||
@ -128,11 +115,9 @@ index 0862400..51b1715 100644
|
|||||||
UBInt8, UBInt16, UBInt32, UBInt64,
|
UBInt8, UBInt16, UBInt32, UBInt64,
|
||||||
ULInt8, ULInt16, ULInt32, ULInt64,
|
ULInt8, ULInt16, ULInt32, ULInt64,
|
||||||
SBInt32, SLInt32, SBInt64, SLInt64,
|
SBInt32, SLInt32, SBInt64, SLInt64,
|
||||||
diff --git a/setup.py b/setup.py
|
--- a/setup.py~ 2016-08-05 05:18:18.000000000 +0200
|
||||||
index a105774..d8cd590 100644
|
+++ b/setup.py 2018-06-17 13:51:23.961881845 +0200
|
||||||
--- a/setup.py
|
@@ -41,7 +41,6 @@
|
||||||
+++ b/setup.py
|
|
||||||
@@ -41,7 +41,6 @@ setup(
|
|
||||||
'elftools.elf',
|
'elftools.elf',
|
||||||
'elftools.common',
|
'elftools.common',
|
||||||
'elftools.dwarf',
|
'elftools.dwarf',
|
119
pyelftools.spec
119
pyelftools.spec
@ -1,111 +1,70 @@
|
|||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} > 28 || 0%{?rhel} >= 8
|
||||||
%global __python_sitelib %{python2_sitelib}
|
%global py2readelf py2readelf
|
||||||
|
%global py3readelf pyreadelf
|
||||||
%else
|
%else
|
||||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
%global py2readelf pyreadelf
|
||||||
%global __python_sitelib %{python_sitelib}
|
%global py3readelf py3readelf
|
||||||
%{?__python2:%global __python2 %{__python}}
|
|
||||||
%endif
|
%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.16.git%{commitdate}.%{shortcommit}%{?dist}
|
|
||||||
Summary: Pure-Python library for parsing and analyzing ELF files
|
Summary: Pure-Python library for parsing and analyzing ELF files
|
||||||
|
Name: pyelftools
|
||||||
|
Version: 0.24
|
||||||
|
Release: 1%{?dist}
|
||||||
License: Public Domain
|
License: Public Domain
|
||||||
URL: https://github.com/eliben/%{name}
|
URL: https://github.com/eliben/pyelftools
|
||||||
|
Source0: https://files.pythonhosted.org/packages/source/p/pyelftools/pyelftools-%{version}.tar.gz
|
||||||
# We 'll use git snapshots, because upstream keeps master-branch
|
Patch0: pyelftools-0.24-construct.patch
|
||||||
# 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: python2-devel
|
||||||
BuildRequires: python2-setuptools
|
BuildRequires: python2-setuptools
|
||||||
BuildRequires: python2-construct
|
BuildRequires: python2-construct
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: python3-construct
|
BuildRequires: python3-construct
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
%global _description \
|
||||||
%description
|
Pure-Python library for parsing and analyzing ELF files\
|
||||||
Pure-Python library for parsing and analyzing ELF files
|
|
||||||
and DWARF debugging information.
|
and DWARF debugging information.
|
||||||
|
%description %_description
|
||||||
|
|
||||||
%package -n python2-%{name}
|
%package -n python2-%{name}
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
Requires: python2-construct
|
Requires: python2-construct
|
||||||
%{?python_provide:%python_provide python2-%{name}}
|
%{?python_provide:%python_provide python2-%{name}}
|
||||||
# Remove before F30
|
# Remove before F30
|
||||||
|
%if 0%{?fedora} < 29
|
||||||
Provides: %{name} = %{version}-%{release}
|
Provides: %{name} = %{version}-%{release}
|
||||||
|
%endif
|
||||||
%description -n python2-%{name}
|
%description -n python2-%{name} %_description
|
||||||
Pure-Python library for parsing and analyzing ELF files
|
|
||||||
and DWARF debugging information.
|
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
%package -n python3-%{name}
|
%package -n python3-%{name}
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
Requires: python3-construct
|
Requires: python3-construct
|
||||||
%{?python_provide:%python_provide python3-%{name}}
|
%{?python_provide:%python_provide python3-%{name}}
|
||||||
|
%description -n python3-%{name} %_description
|
||||||
%description -n python3-%{name}
|
|
||||||
Pure-Python library for parsing and analyzing ELF files
|
|
||||||
and DWARF debugging information.
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -qn %{name}-%{commit}
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
|
||||||
# remove bundled construct lib
|
|
||||||
rm -rf elftools/construct
|
rm -rf elftools/construct
|
||||||
|
|
||||||
# python3-package
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
|
||||||
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
|
%build
|
||||||
%{__python2} setup.py build
|
%{py2_build}
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
pushd %{py3dir}
|
%{py3_build}
|
||||||
%{__python3} setup.py build
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
|
%{py2_install}
|
||||||
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/pyreadelf
|
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py2readelf}
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
pushd %{py3dir}
|
%{py3_install}
|
||||||
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
|
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py3readelf}
|
||||||
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/py3readelf
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%{__python2} test/run_all_unittests.py
|
%{__python2} test/run_all_unittests.py
|
||||||
%{__python2} test/run_examples_test.py
|
%{__python2} test/run_examples_test.py
|
||||||
@ -117,27 +76,33 @@ mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/py3readelf
|
|||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
%{__python3} test/run_all_unittests.py
|
%{__python3} test/run_all_unittests.py
|
||||||
%{__python3} test/run_examples_test.py
|
%{__python3} test/run_examples_test.py
|
||||||
# tests may fail because of differences in output-formatting
|
# ditto
|
||||||
# from binutils' readelf. See:
|
|
||||||
# https://github.com/eliben/pyelftools/wiki/Hacking-guide#tests
|
|
||||||
%{__python3} test/run_readelf_tests.py || :
|
%{__python3} test/run_readelf_tests.py || :
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%files -n python2-%{name}
|
%files -n python2-%{name}
|
||||||
%doc CHANGES LICENSE README* TODO
|
%license LICENSE
|
||||||
%{__python_sitelib}/*elftools*
|
%doc CHANGES
|
||||||
%{_bindir}/pyreadelf
|
%{_bindir}/%{py2readelf}
|
||||||
|
%{python2_sitelib}/elftools
|
||||||
|
%{python2_sitelib}/pyelftools-*.egg-info
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
%files -n python3-%{name}
|
%files -n python3-%{name}
|
||||||
%doc CHANGES LICENSE README* TODO
|
%license LICENSE
|
||||||
%{python3_sitelib}/*elftools*
|
%doc CHANGES
|
||||||
%{_bindir}/py3readelf
|
%{_bindir}/%{py3readelf}
|
||||||
|
%{python3_sitelib}/elftools
|
||||||
|
%{python3_sitelib}/pyelftools-*.egg-info
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
||||||
|
|
||||||
* Wed Feb 21 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.22-0.16.git20130619.a1d9681
|
* Wed Feb 21 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.22-0.16.git20130619.a1d9681
|
||||||
- Update Python 2 dependency declarations to new packaging standards
|
- Update Python 2 dependency declarations to new packaging standards
|
||||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||||
|
Loading…
Reference in New Issue
Block a user