fix collections import MutableMapping

This commit is contained in:
caodongxia 2022-01-29 10:59:34 +08:00
parent a1c8a479f3
commit 7763c4c4db
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