X-Git-Url: https://git.tld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=python-3.10-abi.patch;fp=python-3.10-abi.patch;h=0000000000000000000000000000000000000000;hp=4842b5dcb55b2e5ab3a9244e0615151ed6c7ec92;hb=7614db846db53bd75cafd0bf33fb766047db968b;hpb=65889ff1d52fe20c04254d29e26042e4eb3e6f22 diff --git a/python-3.10-abi.patch b/python-3.10-abi.patch deleted file mode 100644 index 4842b5d..0000000 --- a/python-3.10-abi.patch +++ /dev/null @@ -1,60 +0,0 @@ -From d12e039037bf9a7d22d51bf1cc5925525a945ddf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Mon, 19 Apr 2021 20:33:33 +0200 -Subject: [PATCH] Fix python(abi) generator (the one written in Python) - -There were three problems: - - - sys.version was not imported - - sys.version[:3] is not reliable on Python 3.10+ - - distutils is deprecated on Python 3.10+ - -We were not hit by the missing import in Fedora because we only run the script -on .dist-info/.egg-info/.egg and not on .py files, so this if-branch never runs. - -But when the script was fed with a .py path, it errored: - - Traceback (most recent call last): - File "/usr/lib/rpm/pythondistdeps.py", line 344, in - purelib = get_python_lib(standard_lib=0, plat_specific=0).split(version[:3])[0] - NameError: name 'version' is not defined - -The sys.version[:3] thing kinda works for Python 3.10+ because *in this -particular case* splitting on '3.1' and taking the prefix yields the same -results as splitting on '3.10', but I consider that mere coincidence. - -Finally, since the distutils import happened at module-level, -we got the Deprecation warning in all Fedora's Python packages: - - /usr/lib/rpm/pythondistdeps.py:16: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12 ---- - scripts/pythondistdeps.py | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -index 4e178c0..1f81c19 100755 ---- a/scripts/pythondistdeps.py -+++ b/scripts/pythondistdeps.py -@@ -13,8 +13,8 @@ - from __future__ import print_function - import argparse - from os.path import basename, dirname, isdir, sep --from sys import argv, stdin, version --from distutils.sysconfig import get_python_lib -+from sys import argv, stdin, version, version_info -+from sysconfig import get_path - from warnings import warn - - -@@ -287,8 +287,9 @@ def get_marker_env(dist, extra): - if py_abi and (lower.endswith('.py') or lower.endswith('.pyc') or lower.endswith('.pyo')): - if name not in py_deps: - py_deps[name] = [] -- purelib = get_python_lib(standard_lib=0, plat_specific=0).split(version[:3])[0] -- platlib = get_python_lib(standard_lib=0, plat_specific=1).split(version[:3])[0] -+ running_python_version = '{}.{}'.format(*version_info[:2]) -+ purelib = get_path('purelib').split(running_python_version)[0] -+ platlib = get_path('platlib').split(running_python_version)[0] - for lib in (purelib, platlib): - if lib in f: - spec = ('==', f.split(lib)[1].split(sep)[0])