From 7f4443442ec1079121ec865e5528fa35a735a6f0 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Mon, 3 Jan 2022 12:16:12 +0100 Subject: [PATCH] Update to 20.13.0 --- 2231.patch | 54 -------------------------------- 2246.patch | 70 ------------------------------------------ python-virtualenv.spec | 22 ++++++------- rpm-wheels.patch | 10 +++--- sources | 2 +- 5 files changed, 15 insertions(+), 143 deletions(-) delete mode 100644 2231.patch delete mode 100644 2246.patch diff --git a/2231.patch b/2231.patch deleted file mode 100644 index 1061fa1..0000000 --- a/2231.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 58ff51c482ed40a6b38766c90954d7d3edcaa0fb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Mon, 8 Nov 2021 15:54:18 +0100 -Subject: [PATCH] Fix test_custom_venv_install_scheme_is_prefered mocking if - "venv" install scheme actually exists - -The error this prevents was: - - """distutils.command.install - - Implements the Distutils 'install' command.""" - - ... - - # Copy from sysconfig._INSTALL_SCHEMES - for key in SCHEME_KEYS: - for distutils_scheme_name, sys_scheme_name in ( - ("unix_prefix", "posix_prefix"), ("unix_home", "posix_home"), - ("nt", "nt")): - sys_key = key - > sys_scheme = sysconfig._INSTALL_SCHEMES[sys_scheme_name] - E KeyError: 'posix_home' ---- - tests/unit/discovery/py_info/test_py_info.py | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/tests/unit/discovery/py_info/test_py_info.py b/tests/unit/discovery/py_info/test_py_info.py -index 053a6f906..d4c4bba25 100644 ---- a/tests/unit/discovery/py_info/test_py_info.py -+++ b/tests/unit/discovery/py_info/test_py_info.py -@@ -349,7 +349,6 @@ def test_custom_venv_install_scheme_is_prefered(mocker): - - if sys.version_info[0] == 2: - sysconfig_install_schemes = _stringify_schemes_dict(sysconfig_install_schemes) -- mocker.patch("sysconfig._INSTALL_SCHEMES", sysconfig_install_schemes) - - # On Python < 3.10, the distutils schemes are not derived from sysconfig schemes - # So we mock them as well to assert the custom "venv" install scheme has priority -@@ -367,7 +366,15 @@ def test_custom_venv_install_scheme_is_prefered(mocker): - - if sys.version_info[0] == 2: - distutils_schemes = _stringify_schemes_dict(distutils_schemes) -+ -+ # We need to mock distutils first, so they don't see the mocked sysconfig, -+ # if imported for the first time. -+ # That can happen if the actual interpreter has the "venv" INSTALL_SCHEME -+ # and hence this is the first time we are touching distutils in this process. -+ # If distutils saw our mocked sysconfig INSTALL_SCHEMES, we would need -+ # to define all install schemes. - mocker.patch("distutils.command.install.INSTALL_SCHEMES", distutils_schemes) -+ mocker.patch("sysconfig._INSTALL_SCHEMES", sysconfig_install_schemes) - - pyinfo = PythonInfo() - pyver = "{}.{}".format(pyinfo.version_info.major, pyinfo.version_info.minor) diff --git a/2246.patch b/2246.patch deleted file mode 100644 index 7dbbb9e..0000000 --- a/2246.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 5fe71e1126b6d4e5c3abc0d03c7c3709f1b1c1d4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Mon, 6 Dec 2021 15:42:33 +0100 -Subject: [PATCH] Use 'selectable' interface for entry points only when - available - -This reverts commit 17caadc974cb2a24f70374525596cd1160579594. ---- - docs/changelog/2246.feature.rst | 1 + - setup.cfg | 1 - - src/virtualenv/run/plugin/base.py | 15 +++++++++++++-- - 3 files changed, 14 insertions(+), 3 deletions(-) - create mode 100644 docs/changelog/2246.feature.rst - -diff --git a/docs/changelog/2246.feature.rst b/docs/changelog/2246.feature.rst -new file mode 100644 -index 0000000..4be877d ---- /dev/null -+++ b/docs/changelog/2246.feature.rst -@@ -0,0 +1 @@ -+Drop the runtime dependency of ``backports.entry-points-selectable`` - by :user:`hroncok`. -diff --git a/setup.cfg b/setup.cfg -index 70d77fb..1cec841 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -40,7 +40,6 @@ project_urls = - [options] - packages = find: - install_requires = -- backports.entry_points_selectable>=1.0.4 - distlib>=0.3.1,<1 - filelock>=3.2,<4 - platformdirs>=2,<3 -diff --git a/src/virtualenv/run/plugin/base.py b/src/virtualenv/run/plugin/base.py -index f1f4ee0..048c76a 100644 ---- a/src/virtualenv/run/plugin/base.py -+++ b/src/virtualenv/run/plugin/base.py -@@ -1,8 +1,16 @@ - from __future__ import absolute_import, unicode_literals - -+import sys - from collections import OrderedDict - --from backports.entry_points_selectable import entry_points -+if sys.version_info >= (3, 8): -+ from importlib.metadata import entry_points -+ -+ importlib_metadata_version = () -+else: -+ from importlib_metadata import entry_points, version -+ -+ importlib_metadata_version = tuple(int(i) for i in version("importlib_metadata").split(".")[:2]) - - - class PluginLoader(object): -@@ -11,7 +19,10 @@ class PluginLoader(object): - - @classmethod - def entry_points_for(cls, key): -- return OrderedDict((e.name, e.load()) for e in cls.entry_points().select(group=key)) -+ if sys.version_info >= (3, 10) or importlib_metadata_version >= (3, 6): -+ return OrderedDict((e.name, e.load()) for e in cls.entry_points().select(group=key)) -+ else: -+ return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {})) - - @staticmethod - def entry_points(): --- -2.33.1 - diff --git a/python-virtualenv.spec b/python-virtualenv.spec index e22f5c2..1effa0e 100644 --- a/python-virtualenv.spec +++ b/python-virtualenv.spec @@ -1,6 +1,6 @@ Name: python-virtualenv -Version: 20.10.0 -Release: 2%{?dist} +Version: 20.13.0 +Release: 1%{?dist} Summary: Tool to create isolated Python environments License: MIT @@ -10,15 +10,6 @@ Source0: %{pypi_source virtualenv} # Add /usr/share/python-wheels to extra_search_dir Patch1: rpm-wheels.patch -# Hotfix for the test of the new functionality -Patch2: https://github.com/pypa/virtualenv/pull/2231.patch - -# Use 'selectable' interface for entry points only when available -# Drops the dependency on backports.entry-points-selectable -# https://github.com/pypa/virtualenv/pull/2246 -# Rebased to apply -Patch3: 2246.patch - BuildArch: noarch BuildRequires: python3-devel @@ -143,11 +134,12 @@ unset SOURCE_DATE_EPOCH # - test_wheel_* # - test_seed_link_via_app_data # - test_base_bootstrap_via_pip_invoke -# - test_acquire_find_wheel.py (whole file) +# - test_acquire.py (whole file) +# - test_bundle.py (whole file) # Uses disabled functionalities around automatic updates: # - test_periodic_update.py (whole file) PIP_CERT=/etc/pki/tls/certs/ca-bundle.crt \ -%pytest -vv -k "not test_acquire_find_wheel and not test_periodic_update and not test_wheel_ and not test_download_ and not test_base_bootstrap_via_pip_invoke and not test_seed_link_via_app_data" +%pytest -vv -k "not test_bundle and not test_acquire and not test_periodic_update and not test_wheel_ and not test_download_ and not test_base_bootstrap_via_pip_invoke and not test_seed_link_via_app_data" rm -r tmp_path %endif @@ -166,6 +158,10 @@ rm -r tmp_path %changelog +* Mon Jan 03 2022 Lumír Balhar - 20.13.0-1 +- Update to 20.13.0 +Resolves: rhbz#2035895 + * Mon Nov 08 2021 Lumír Balhar - 20.10.0-2 - Remove hack for local/ prefixes diff --git a/rpm-wheels.patch b/rpm-wheels.patch index 5ae4a89..9c04356 100644 --- a/rpm-wheels.patch +++ b/rpm-wheels.patch @@ -1,6 +1,6 @@ -From a5a31b5d5c4969c8148fd44d45379140b1273f87 Mon Sep 17 00:00:00 2001 +From 9b8653289e84c6d24b5da1ffc8c21e8c204fc48c Mon Sep 17 00:00:00 2001 From: Lumir Balhar -Date: Tue, 19 Jan 2021 13:51:49 +0100 +Date: Mon, 3 Jan 2022 11:50:56 +0100 Subject: [PATCH] rpm wheels --- @@ -80,12 +80,12 @@ index 9a98a70..a0ecadf 100644 pip_version = name_to_whl["pip"].version_tuple if "pip" in name_to_whl else None installer_class = self.installer_class(pip_version) diff --git a/src/virtualenv/seed/wheels/embed/__init__.py b/src/virtualenv/seed/wheels/embed/__init__.py -index 672d67b..bdd8864 100644 +index d38ccf8..4b80d98 100644 --- a/src/virtualenv/seed/wheels/embed/__init__.py +++ b/src/virtualenv/seed/wheels/embed/__init__.py @@ -48,8 +48,11 @@ BUNDLE_SUPPORT = { } - MAX = "3.10" + MAX = "3.11" +# Redefined here because bundled wheels are removed in RPM build +BUNDLE_SUPPORT = None @@ -124,5 +124,5 @@ index 0000000..a968dee + if wheels_dir.exists(): + yield wheels_dir -- -2.29.2 +2.33.1 diff --git a/sources b/sources index 7572cc5..e4fd451 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virtualenv-20.10.0.tar.gz) = df940aa29801a39d39be46d3518a99e93efb2113650abf81d00b4545183ec6806823ce8b754c5a3c951cb64e941944421046c709ed3de6a925489e5ac1988d48 +SHA512 (virtualenv-20.13.0.tar.gz) = 72aa8cffe92551479ad4ec93395597cd9f77ddaf2063e36d5836277199a96ab2d57236d94b99b7038a60ada103a2d8a37ae4b13ffaaa6ed8e786245d9fbbf6d6