0.25
Use bundled construct as construct 2.9 is incompatible Drop Python 2 stuff on el8 and Python 31 or newer
This commit is contained in:
parent
292c54a475
commit
e04ae5ab83
@ -1,127 +0,0 @@
|
||||
diff --git a/elftools/common/construct_utils.py b/elftools/common/construct_utils.py
|
||||
index 8ace30e..321ab51 100644
|
||||
--- a/elftools/common/construct_utils.py
|
||||
+++ b/elftools/common/construct_utils.py
|
||||
@@ -6,7 +6,7 @@
|
||||
# Eli Bendersky (eliben@gmail.com)
|
||||
# This code is in the public domain
|
||||
#-------------------------------------------------------------------------------
|
||||
-from ..construct import Subconstruct, ConstructError, ArrayError
|
||||
+from construct import Subconstruct, ConstructError, ArrayError
|
||||
|
||||
|
||||
class RepeatUntilExcluding(Subconstruct):
|
||||
diff --git a/elftools/common/utils.py b/elftools/common/utils.py
|
||||
index d8acefa..f6d017c 100644
|
||||
--- a/elftools/common/utils.py
|
||||
+++ b/elftools/common/utils.py
|
||||
@@ -9,7 +9,7 @@
|
||||
from contextlib import contextmanager
|
||||
from .exceptions import ELFParseError, ELFError, DWARFError
|
||||
from .py3compat import int2byte
|
||||
-from ..construct import ConstructError
|
||||
+from construct import ConstructError
|
||||
|
||||
|
||||
def bytelist2string(bytelist):
|
||||
diff --git a/elftools/dwarf/enums.py b/elftools/dwarf/enums.py
|
||||
index 9140f91..17f5c74 100644
|
||||
--- a/elftools/dwarf/enums.py
|
||||
+++ b/elftools/dwarf/enums.py
|
||||
@@ -6,7 +6,7 @@
|
||||
# Eli Bendersky (eliben@gmail.com)
|
||||
# This code is in the public domain
|
||||
#-------------------------------------------------------------------------------
|
||||
-from ..construct import Pass
|
||||
+from construct import Pass
|
||||
from ..common.py3compat import iteritems
|
||||
|
||||
|
||||
diff --git a/elftools/dwarf/structs.py b/elftools/dwarf/structs.py
|
||||
index e25dc84..cfc4a85 100644
|
||||
--- a/elftools/dwarf/structs.py
|
||||
+++ b/elftools/dwarf/structs.py
|
||||
@@ -7,7 +7,7 @@
|
||||
# Eli Bendersky (eliben@gmail.com)
|
||||
# This code is in the public domain
|
||||
#-------------------------------------------------------------------------------
|
||||
-from ..construct import (
|
||||
+from construct import (
|
||||
UBInt8, UBInt16, UBInt32, UBInt64, ULInt8, ULInt16, ULInt32, ULInt64,
|
||||
SBInt8, SBInt16, SBInt32, SBInt64, SLInt8, SLInt16, SLInt32, SLInt64,
|
||||
Adapter, Struct, ConstructError, If, RepeatUntil, Field, Rename, Enum,
|
||||
diff --git a/elftools/elf/enums.py b/elftools/elf/enums.py
|
||||
index dbeb20e..5767d41 100644
|
||||
--- a/elftools/elf/enums.py
|
||||
+++ b/elftools/elf/enums.py
|
||||
@@ -6,7 +6,7 @@
|
||||
# Eli Bendersky (eliben@gmail.com)
|
||||
# This code is in the public domain
|
||||
#-------------------------------------------------------------------------------
|
||||
-from ..construct import Pass
|
||||
+from construct import Pass
|
||||
|
||||
|
||||
# e_ident[EI_CLASS] in the ELF header
|
||||
diff --git a/elftools/elf/gnuversions.py b/elftools/elf/gnuversions.py
|
||||
index 4a4473f..d4f4b75 100644
|
||||
--- a/elftools/elf/gnuversions.py
|
||||
+++ b/elftools/elf/gnuversions.py
|
||||
@@ -6,7 +6,7 @@
|
||||
# Yann Rouillard (yann@pleiades.fr.eu.org)
|
||||
# This code is in the public domain
|
||||
#------------------------------------------------------------------------------
|
||||
-from ..construct import CString
|
||||
+from construct import CString
|
||||
from ..common.utils import struct_parse, elf_assert
|
||||
from .sections import Section, Symbol
|
||||
|
||||
diff --git a/elftools/elf/notes.py b/elftools/elf/notes.py
|
||||
index b3a41d6..526135c 100644
|
||||
--- a/elftools/elf/notes.py
|
||||
+++ b/elftools/elf/notes.py
|
||||
@@ -8,7 +8,7 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
from ..common.py3compat import bytes2str
|
||||
from ..common.utils import struct_parse, roundup
|
||||
-from ..construct import CString
|
||||
+from construct import CString
|
||||
|
||||
|
||||
def iter_notes(elffile, offset, size):
|
||||
diff --git a/elftools/elf/segments.py b/elftools/elf/segments.py
|
||||
index c1c0279..8464248 100644
|
||||
--- a/elftools/elf/segments.py
|
||||
+++ b/elftools/elf/segments.py
|
||||
@@ -6,7 +6,7 @@
|
||||
# Eli Bendersky (eliben@gmail.com)
|
||||
# This code is in the public domain
|
||||
#-------------------------------------------------------------------------------
|
||||
-from ..construct import CString
|
||||
+from construct import CString
|
||||
from ..common.utils import struct_parse
|
||||
from .constants import SH_FLAGS
|
||||
from .notes import iter_notes
|
||||
diff --git a/elftools/elf/structs.py b/elftools/elf/structs.py
|
||||
index d2404ab..2570b4f 100644
|
||||
--- a/elftools/elf/structs.py
|
||||
+++ b/elftools/elf/structs.py
|
||||
@@ -7,7 +7,7 @@
|
||||
# Eli Bendersky (eliben@gmail.com)
|
||||
# This code is in the public domain
|
||||
#-------------------------------------------------------------------------------
|
||||
-from ..construct import (
|
||||
+from construct import (
|
||||
UBInt8, UBInt16, UBInt32, UBInt64,
|
||||
ULInt8, ULInt16, ULInt32, ULInt64,
|
||||
SBInt32, SLInt32, SBInt64, SLInt64,
|
||||
--- a/setup.py~ 2016-08-05 05:18:18.000000000 +0200
|
||||
+++ b/setup.py 2018-06-17 13:51:23.961881845 +0200
|
||||
@@ -41,7 +41,6 @@
|
||||
'elftools.elf',
|
||||
'elftools.common',
|
||||
'elftools.dwarf',
|
||||
- 'elftools.construct', 'elftools.construct.lib',
|
||||
],
|
||||
|
||||
scripts=['scripts/readelf.py']
|
@ -6,21 +6,32 @@
|
||||
%global py3readelf py3readelf
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} && 0%{?fedora} < 31
|
||||
%global with_python2 1
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} < 8
|
||||
%global with_python2 1
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%global with_python3 1
|
||||
%endif
|
||||
|
||||
Summary: Pure-Python library for parsing and analyzing ELF files
|
||||
Name: pyelftools
|
||||
Version: 0.24
|
||||
Release: 4%{?dist}
|
||||
Version: 0.25
|
||||
Release: 1%{?dist}
|
||||
License: Public Domain
|
||||
URL: https://github.com/eliben/pyelftools
|
||||
Source0: https://files.pythonhosted.org/packages/source/p/pyelftools/pyelftools-%{version}.tar.gz
|
||||
Patch0: pyelftools-0.24-construct.patch
|
||||
%if 0%{?with_python2}
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-setuptools
|
||||
BuildRequires: python2-construct
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%endif
|
||||
%if 0%{?with_python3}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-construct
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
%global _description \
|
||||
@ -28,6 +39,7 @@ Pure-Python library for parsing and analyzing ELF files\
|
||||
and DWARF debugging information.
|
||||
%description %_description
|
||||
|
||||
%if 0%{?with_python2}
|
||||
%package -n python2-%{name}
|
||||
Summary: %{summary}
|
||||
Requires: python2-construct
|
||||
@ -37,8 +49,9 @@ Requires: python2-construct
|
||||
Provides: %{name} = %{version}-%{release}
|
||||
%endif
|
||||
%description -n python2-%{name} %_description
|
||||
%endif # with_python2
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%if 0%{?with_python3}
|
||||
%package -n python3-%{name}
|
||||
Summary: %{summary}
|
||||
Requires: python3-construct
|
||||
@ -48,46 +61,51 @@ Requires: python3-construct
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
rm -rf elftools/construct
|
||||
|
||||
%build
|
||||
%if 0%{?with_python2}
|
||||
%{py2_build}
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%endif
|
||||
%if 0%{?with_python3}
|
||||
%{py3_build}
|
||||
%endif
|
||||
|
||||
%install
|
||||
%if 0%{?with_python2}
|
||||
%{py2_install}
|
||||
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py2readelf}
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%endif
|
||||
%if 0%{?with_python3}
|
||||
%{py3_install}
|
||||
mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py3readelf}
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if 0%{?with_python2}
|
||||
%{__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} >= 8
|
||||
%endif
|
||||
%if 0%{?with_python3}
|
||||
%{__python3} test/run_all_unittests.py
|
||||
%{__python3} test/run_examples_test.py
|
||||
# ditto
|
||||
%{__python3} test/run_readelf_tests.py || :
|
||||
%endif
|
||||
|
||||
%if 0%{?with_python2}
|
||||
%files -n python2-%{name}
|
||||
%license LICENSE
|
||||
%doc CHANGES
|
||||
%{_bindir}/%{py2readelf}
|
||||
%{python2_sitelib}/elftools
|
||||
%{python2_sitelib}/pyelftools-*.egg-info
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%if 0%{?with_python3}
|
||||
%files -n python3-%{name}
|
||||
%license LICENSE
|
||||
%doc CHANGES
|
||||
@ -97,6 +115,11 @@ mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/%{py3readelf}
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.24-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (pyelftools-0.24.tar.gz) = 5169617f9a8446ffc21dfc44ee185a388c8945a0296bdc6752483b0756888dccb10e3ee88e529d101cf31a4595de924b5c95f5459d5ee4448f57c0c4f2c56887
|
||||
SHA512 (pyelftools-0.25.tar.gz) = 06ead53ada32676161193d7e5cdb3b9e4c1910dcb34f77a544f53445651f8118b582716bf8c5cc54efb21b1ddbbcdb4b41c533350af3c41553d103c7fc74702f
|
||||
|
Loading…
Reference in New Issue
Block a user