diff --git a/correct_large_version_number.patch b/correct_large_version_number.patch new file mode 100644 index 0000000..046e43e --- /dev/null +++ b/correct_large_version_number.patch @@ -0,0 +1,90 @@ +# HG changeset patch +# User Vinay Sajip +# Date 1571520730 -3600 +# Node ID 84ab17abcd54c6ce62fcb7a5137dfd821682f5ad +# Parent bdef4258f1e2e08685aa5f3abac03483cbfa0ea0 +Change Python version handling to cope with a version like 3.10. + +--- a/distlib/_backport/sysconfig.py ++++ b/distlib/_backport/sysconfig.py +@@ -119,11 +119,9 @@ def _expand_globals(config): + + #_expand_globals(_SCHEMES) + +- # FIXME don't rely on sys.version here, its format is an implementation detail +- # of CPython, use sys.version_info or sys.hexversion +-_PY_VERSION = sys.version.split()[0] +-_PY_VERSION_SHORT = sys.version[:3] +-_PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2] ++_PY_VERSION = '%s.%s.%s' % sys.version_info[:3] ++_PY_VERSION_SHORT = '%s.%s' % sys.version_info[:2] ++_PY_VERSION_SHORT_NO_DOT = '%s%s' % sys.version_info[:2] + _PREFIX = os.path.normpath(sys.prefix) + _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) + _CONFIG_VARS = None +--- a/distlib/scripts.py ++++ b/distlib/scripts.py +@@ -285,9 +285,10 @@ class ScriptMaker(object): + if '' in self.variants: + scriptnames.add(name) + if 'X' in self.variants: +- scriptnames.add('%s%s' % (name, sys.version[0])) ++ scriptnames.add('%s%s' % (name, sys.version_info[0])) + if 'X.Y' in self.variants: +- scriptnames.add('%s-%s' % (name, sys.version[:3])) ++ scriptnames.add('%s-%s.%s' % (name, sys.version_info[0], ++ sys.version_info[1])) + if options and options.get('gui', False): + ext = 'pyw' + else: +--- a/distlib/wheel.py ++++ b/distlib/wheel.py +@@ -684,7 +684,7 @@ class Wheel(object): + if cache is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('dylib-cache'), +- sys.version[:3]) ++ '%s.%s' % sys.version_info[:2]) + cache = Cache(base) + return cache + +--- a/tests/test_scripts.py ++++ b/tests/test_scripts.py +@@ -152,9 +152,12 @@ class ScriptTestCase(unittest.TestCase): + else: + ext = 'py' + expected = set(['foo.%s' % ext, +- 'foo-%s.%s' % (sys.version[:3], ext)]) ++ 'foo-%s.%s.%s' % (sys.version_info[0], ++ sys.version_info[1], ++ ext)]) + else: +- expected = set(['foo', 'foo-%s' % sys.version[:3]]) ++ expected = set(['foo', 'foo-%s.%s' % (sys.version_info[0], ++ sys.version_info[1])]) + self.assertEqual(actual, expected) + self.assertEqual(d, self.maker.target_dir) + for fn in files: +@@ -264,7 +267,7 @@ class ScriptTestCase(unittest.TestCase): + files = self.maker.make('foo = foo:main', {'gui': True}) + self.assertEqual(len(files), 2) + filenames = set([os.path.basename(f) for f in files]) +- specific = sys.version[:3] ++ specific = '%s.%s' % sys.version_info[:2] + self.assertEqual(filenames, set(('foo.exe', 'foo-%s.exe' % specific))) + for fn in files: + with open(fn, 'rb') as f: +--- a/tests/test_wheel.py ++++ b/tests/test_wheel.py +@@ -474,7 +474,10 @@ class WheelTestCase(unittest.TestCase): + parts = ['cp', pyver] + if sysconfig.get_config_var('Py_DEBUG'): + parts.append('d') +- if sysconfig.get_config_var('WITH_PYMALLOC'): ++ # Starting with 3.8, the SOABI doesn't append m when WITH_PYMALLOC is ++ # defined (see bpo-36707) ++ if (sys.version_info[:2] < (3, 8) and ++ sysconfig.get_config_var('WITH_PYMALLOC')): + parts.append('m') + if sysconfig.get_config_var('Py_UNICODE_SIZE') == 4: + parts.append('u') diff --git a/python-distlib.changes b/python-distlib.changes index 522e08c..82a05c1 100644 --- a/python-distlib.changes +++ b/python-distlib.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Oct 25 07:14:15 CEST 2019 - Matej Cepl + +- Add correct_large_version_number.patch fixing bt#pypa/distlib#129 + +------------------------------------------------------------------- +Thu Oct 24 21:34:33 CEST 2019 - Matej Cepl + +- Skip test_abi tests. bt#pypa/distlib#129 + ------------------------------------------------------------------- Fri Sep 13 08:55:00 UTC 2019 - Tomáš Chvátal diff --git a/python-distlib.spec b/python-distlib.spec index 8ee22b3..677a0f9 100644 --- a/python-distlib.spec +++ b/python-distlib.spec @@ -26,6 +26,9 @@ Group: Development/Languages/Python URL: https://bitbucket.org/pypa/distlib Source: https://files.pythonhosted.org/packages/source/d/distlib/distlib-%{version}.zip Patch0: remove-backports.patch +# PATCH-FIX-UPSTREAM correct_large_version_number.patch bt#pypa/distlib#129 mcepl@suse.com +# Change Python version handling to cope with a version like 3.10 +Patch1: correct_large_version_number.patch BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -39,7 +42,7 @@ Python distribution utilities. %prep %setup -q -n distlib-%{version} -%patch0 -p1 +%autopatch -p1 rm -r tests/unittest2