!9 修复pyelftools在master分支基于python3.10编译失败

Merge pull request !9 from caodongxia/master
This commit is contained in:
openeuler-ci-bot 2022-01-29 03:19:29 +00:00 committed by Gitee
commit 88a49ab30c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 52 additions and 2 deletions

View File

@ -0,0 +1,47 @@
From 923c498fd2c3c9805c613f8ac33e5572b9a784e2 Mon Sep 17 00:00:00 2001
From: Scott Johnson <scottjohnsoninsf@gmail.com>
Date: Sat, 22 Jun 2019 05:16:23 -0700
Subject: [PATCH] Fix deprecation warning in Python 3.7 (#231)
$SITE_PYTHON/lib/python3.7/site-packages/elftools/construct/lib/container.py:5
Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
This change is compatible with Python 3.3 and up, when the ABCs were
moved to collections.abc. Backward compatibility is retained through
the try/except block.
---
elftools/construct/lib/container.py | 2 +-
elftools/construct/lib/py3compat.py | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/elftools/construct/lib/container.py b/elftools/construct/lib/container.py
index 2f89b2dc..5a580fac 100644
--- a/elftools/construct/lib/container.py
+++ b/elftools/construct/lib/container.py
@@ -2,8 +2,8 @@
Various containers.
"""
-from collections import MutableMapping
from pprint import pformat
+from .py3compat import MutableMapping
def recursion_lock(retval, lock_name = "__recursion_lock__"):
def decorator(func):
diff --git a/elftools/construct/lib/py3compat.py b/elftools/construct/lib/py3compat.py
index 4a52c293..1cbae81d 100644
--- a/elftools/construct/lib/py3compat.py
+++ b/elftools/construct/lib/py3compat.py
@@ -6,6 +6,11 @@
import sys
PY3 = sys.version_info[0] == 3
+try:
+ from collections.abc import MutableMapping # python >= 3.3
+except ImportError:
+ from collections import MutableMapping # python < 3.3
+
if PY3:
import io

View File

@ -1,11 +1,11 @@
Name: pyelftools
Version: 0.25
Release: 3
Release: 4
License: Public Domain
Summary: Pure-Python library for parsing and analyzing ELF files
URL: https://github.com/eliben/pyelftools
Source0: https://files.pythonhosted.org/packages/source/p/pyelftools/pyelftools-%{version}.tar.gz
Patch0: fix-collections-import-MutableMapping.patch
BuildRequires: python3-devel python3-setuptools
BuildArch: noarch
@ -44,6 +44,9 @@ mv %{buildroot}/usr/bin/readelf.py %{buildroot}/usr/bin/pyreadelf
%changelog
* Sat Jan 29 2022 caodongxia <caodongxia@huawei.com> - 0.25-4
- fix collections import MutableMapping
* Wed Oct 21 2020 wutao <wutao61@huawei.com> - 0.25-3
- delete python2 modules