python-virtualenv package is retired on branch c10s for BAKERY-412
This commit is contained in:
parent
d83676642c
commit
5e86bf67d6
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +0,0 @@
|
||||
/virtualenv-*.tar.gz
|
||||
/virtualenv-*/
|
||||
/results_python-virtualenv/
|
||||
*.rpm
|
@ -1,339 +0,0 @@
|
||||
From 42e0698087f061d1d7db6fcb9469302bda5d44ca Mon Sep 17 00:00:00 2001
|
||||
From: chrysle <fritzihab@posteo.de>
|
||||
Date: Fri, 28 Apr 2023 01:36:03 +0200
|
||||
Subject: [PATCH] 3.12 support and no setuptools/wheel on 3.12+ (#2558)
|
||||
|
||||
Cherry-picked from fd93dd79be89b21e6e9d43ca2dd1b02b811f6d6f
|
||||
---
|
||||
docs/changelog/2487.feature.rst | 6 +++++
|
||||
docs/changelog/2558.feature.rst | 1 +
|
||||
docs/render_cli.py | 10 +------
|
||||
docs/user_guide.rst | 5 ++--
|
||||
src/virtualenv/activation/python/__init__.py | 3 ++-
|
||||
src/virtualenv/seed/embed/base_embed.py | 11 +++++---
|
||||
src/virtualenv/util/path/_sync.py | 4 ++-
|
||||
tests/unit/config/test___main__.py | 2 +-
|
||||
tests/unit/create/test_creator.py | 26 ++++++++++++++++---
|
||||
tests/unit/discovery/py_info/test_py_info.py | 2 +-
|
||||
tests/unit/discovery/windows/conftest.py | 2 +-
|
||||
tests/unit/seed/embed/test_base_embed.py | 12 +++++++++
|
||||
.../embed/test_bootstrap_link_via_app_data.py | 4 +--
|
||||
.../unit/seed/wheels/test_periodic_update.py | 17 ++++++++++--
|
||||
14 files changed, 79 insertions(+), 26 deletions(-)
|
||||
create mode 100644 docs/changelog/2487.feature.rst
|
||||
create mode 100644 docs/changelog/2558.feature.rst
|
||||
|
||||
diff --git a/docs/changelog/2487.feature.rst b/docs/changelog/2487.feature.rst
|
||||
new file mode 100644
|
||||
index 0000000..12cc896
|
||||
--- /dev/null
|
||||
+++ b/docs/changelog/2487.feature.rst
|
||||
@@ -0,0 +1,6 @@
|
||||
+Do not install ``wheel`` and ``setuptools`` seed packages for Python 3.12+. To restore the old behaviour use:
|
||||
+
|
||||
+- for ``wheel`` use ``VIRTUALENV_WHEEL=bundle`` environment variable or ``--wheel=bundle`` CLI flag,
|
||||
+- for ``setuptools`` use ``VIRTUALENV_SETUPTOOLS=bundle`` environment variable or ``--setuptools=bundle`` CLI flag.
|
||||
+
|
||||
+By :user:`chrysle`.
|
||||
diff --git a/docs/changelog/2558.feature.rst b/docs/changelog/2558.feature.rst
|
||||
new file mode 100644
|
||||
index 0000000..58b627a
|
||||
--- /dev/null
|
||||
+++ b/docs/changelog/2558.feature.rst
|
||||
@@ -0,0 +1 @@
|
||||
+3.12 support - by :user:`gaborbernat`.
|
||||
diff --git a/src/virtualenv/activation/python/__init__.py b/src/virtualenv/activation/python/__init__.py
|
||||
index eb83504..a49444b 100644
|
||||
--- a/src/virtualenv/activation/python/__init__.py
|
||||
+++ b/src/virtualenv/activation/python/__init__.py
|
||||
@@ -12,10 +12,11 @@ class PythonActivator(ViaTemplateActivator):
|
||||
def replacements(self, creator, dest_folder):
|
||||
replacements = super().replacements(creator, dest_folder)
|
||||
lib_folders = OrderedDict((os.path.relpath(str(i), str(dest_folder)), None) for i in creator.libs)
|
||||
+ lib_folders = os.pathsep.join(lib_folders.keys()).replace("\\", "\\\\") # escape Windows path characters
|
||||
win_py2 = creator.interpreter.platform == "win32" and creator.interpreter.version_info.major == 2
|
||||
replacements.update(
|
||||
{
|
||||
- "__LIB_FOLDERS__": os.pathsep.join(lib_folders.keys()),
|
||||
+ "__LIB_FOLDERS__": lib_folders,
|
||||
"__DECODE_PATH__": ("yes" if win_py2 else ""),
|
||||
},
|
||||
)
|
||||
diff --git a/src/virtualenv/seed/embed/base_embed.py b/src/virtualenv/seed/embed/base_embed.py
|
||||
index f29110b..6782d6f 100644
|
||||
--- a/src/virtualenv/seed/embed/base_embed.py
|
||||
+++ b/src/virtualenv/seed/embed/base_embed.py
|
||||
@@ -39,7 +39,7 @@ class BaseEmbed(Seeder, metaclass=ABCMeta):
|
||||
return {
|
||||
distribution: getattr(self, f"{distribution}_version")
|
||||
for distribution in self.distributions()
|
||||
- if getattr(self, f"no_{distribution}") is False
|
||||
+ if getattr(self, f"no_{distribution}") is False and getattr(self, f"{distribution}_version") != "none"
|
||||
}
|
||||
|
||||
@classmethod
|
||||
@@ -69,11 +69,13 @@ class BaseEmbed(Seeder, metaclass=ABCMeta):
|
||||
default=[],
|
||||
)
|
||||
for distribution, default in cls.distributions().items():
|
||||
+ if interpreter.version_info[:2] >= (3, 12) and distribution in {"wheel", "setuptools"}:
|
||||
+ default = "none"
|
||||
parser.add_argument(
|
||||
f"--{distribution}",
|
||||
dest=distribution,
|
||||
metavar="version",
|
||||
- help=f"version of {distribution} to install as seed: embed, bundle or exact version",
|
||||
+ help=f"version of {distribution} to install as seed: embed, bundle, none or exact version",
|
||||
default=default,
|
||||
)
|
||||
for distribution in cls.distributions():
|
||||
@@ -101,7 +103,10 @@ class BaseEmbed(Seeder, metaclass=ABCMeta):
|
||||
for distribution in self.distributions():
|
||||
if getattr(self, f"no_{distribution}"):
|
||||
continue
|
||||
- ver = f"={getattr(self, f'{distribution}_version', None) or 'latest'}"
|
||||
+ version = getattr(self, f"{distribution}_version", None)
|
||||
+ if version == "none":
|
||||
+ continue
|
||||
+ ver = f"={version or 'latest'}"
|
||||
result += f" {distribution}{ver},"
|
||||
return result[:-1] + ")"
|
||||
|
||||
diff --git a/src/virtualenv/util/path/_sync.py b/src/virtualenv/util/path/_sync.py
|
||||
index 604379d..b0af1eb 100644
|
||||
--- a/src/virtualenv/util/path/_sync.py
|
||||
+++ b/src/virtualenv/util/path/_sync.py
|
||||
@@ -1,6 +1,7 @@
|
||||
import logging
|
||||
import os
|
||||
import shutil
|
||||
+import sys
|
||||
from stat import S_IWUSR
|
||||
|
||||
|
||||
@@ -56,7 +57,8 @@ def safe_delete(dest):
|
||||
else:
|
||||
raise
|
||||
|
||||
- shutil.rmtree(str(dest), ignore_errors=True, onerror=onerror)
|
||||
+ kwargs = {"onexc" if sys.version_info >= (3, 12) else "onerror": onerror}
|
||||
+ shutil.rmtree(str(dest), ignore_errors=True, **kwargs)
|
||||
|
||||
|
||||
class _Debug:
|
||||
diff --git a/tests/unit/config/test___main__.py b/tests/unit/config/test___main__.py
|
||||
index 62228c9..d22ef7e 100644
|
||||
--- a/tests/unit/config/test___main__.py
|
||||
+++ b/tests/unit/config/test___main__.py
|
||||
@@ -58,7 +58,7 @@ def test_fail_with_traceback(raise_on_session_done, tmp_path, capsys):
|
||||
|
||||
@pytest.mark.usefixtures("session_app_data")
|
||||
def test_session_report_full(tmp_path, capsys):
|
||||
- run_with_catch([str(tmp_path)])
|
||||
+ run_with_catch([str(tmp_path), "--setuptools", "bundle", "--wheel", "bundle"])
|
||||
out, err = capsys.readouterr()
|
||||
assert err == ""
|
||||
lines = out.splitlines()
|
||||
diff --git a/tests/unit/create/test_creator.py b/tests/unit/create/test_creator.py
|
||||
index 0ec6d62..8b9d688 100644
|
||||
--- a/tests/unit/create/test_creator.py
|
||||
+++ b/tests/unit/create/test_creator.py
|
||||
@@ -412,7 +412,19 @@ def test_create_long_path(tmp_path):
|
||||
@pytest.mark.parametrize("creator", sorted(set(PythonInfo.current_system().creators().key_to_class) - {"builtin"}))
|
||||
@pytest.mark.usefixtures("session_app_data")
|
||||
def test_create_distutils_cfg(creator, tmp_path, monkeypatch):
|
||||
- result = cli_run([str(tmp_path / "venv"), "--activators", "", "--creator", creator])
|
||||
+ result = cli_run(
|
||||
+ [
|
||||
+ str(tmp_path / "venv"),
|
||||
+ "--activators",
|
||||
+ "",
|
||||
+ "--creator",
|
||||
+ creator,
|
||||
+ "--setuptools",
|
||||
+ "bundle",
|
||||
+ "--wheel",
|
||||
+ "bundle",
|
||||
+ ],
|
||||
+ )
|
||||
|
||||
app = Path(__file__).parent / "console_app"
|
||||
dest = tmp_path / "console_app"
|
||||
@@ -465,7 +477,9 @@ def list_files(path):
|
||||
|
||||
def test_zip_importer_can_import_setuptools(tmp_path):
|
||||
"""We're patching the loaders so might fail on r/o loaders, such as zipimporter on CPython<3.8"""
|
||||
- result = cli_run([str(tmp_path / "venv"), "--activators", "", "--no-pip", "--no-wheel", "--copies"])
|
||||
+ result = cli_run(
|
||||
+ [str(tmp_path / "venv"), "--activators", "", "--no-pip", "--no-wheel", "--copies", "--setuptools", "bundle"],
|
||||
+ )
|
||||
zip_path = tmp_path / "site-packages.zip"
|
||||
with zipfile.ZipFile(str(zip_path), "w", zipfile.ZIP_DEFLATED) as zip_handler:
|
||||
lib = str(result.creator.purelib)
|
||||
@@ -499,6 +513,7 @@ def test_no_preimport_threading(tmp_path):
|
||||
out = subprocess.check_output(
|
||||
[str(session.creator.exe), "-c", r"import sys; print('\n'.join(sorted(sys.modules)))"],
|
||||
text=True,
|
||||
+ encoding="utf-8",
|
||||
)
|
||||
imported = set(out.splitlines())
|
||||
assert "threading" not in imported
|
||||
@@ -515,6 +530,7 @@ def test_pth_in_site_vs_python_path(tmp_path):
|
||||
out = subprocess.check_output(
|
||||
[str(session.creator.exe), "-c", r"import sys; print(sys.testpth)"],
|
||||
text=True,
|
||||
+ encoding="utf-8",
|
||||
)
|
||||
assert out == "ok\n"
|
||||
# same with $PYTHONPATH pointing to site_packages
|
||||
@@ -527,6 +543,7 @@ def test_pth_in_site_vs_python_path(tmp_path):
|
||||
[str(session.creator.exe), "-c", r"import sys; print(sys.testpth)"],
|
||||
text=True,
|
||||
env=env,
|
||||
+ encoding="utf-8",
|
||||
)
|
||||
assert out == "ok\n"
|
||||
|
||||
@@ -540,6 +557,7 @@ def test_getsitepackages_system_site(tmp_path):
|
||||
out = subprocess.check_output(
|
||||
[str(session.creator.exe), "-c", r"import site; print(site.getsitepackages())"],
|
||||
text=True,
|
||||
+ encoding="utf-8",
|
||||
)
|
||||
site_packages = ast.literal_eval(out)
|
||||
|
||||
@@ -554,6 +572,7 @@ def test_getsitepackages_system_site(tmp_path):
|
||||
out = subprocess.check_output(
|
||||
[str(session.creator.exe), "-c", r"import site; print(site.getsitepackages())"],
|
||||
text=True,
|
||||
+ encoding="utf-8",
|
||||
)
|
||||
site_packages = [str(Path(i).resolve()) for i in ast.literal_eval(out)]
|
||||
|
||||
@@ -579,6 +598,7 @@ def test_get_site_packages(tmp_path):
|
||||
out = subprocess.check_output(
|
||||
[str(session.creator.exe), "-c", r"import site; print(site.getsitepackages())"],
|
||||
text=True,
|
||||
+ encoding="utf-8",
|
||||
)
|
||||
site_packages = ast.literal_eval(out)
|
||||
|
||||
@@ -617,7 +637,7 @@ def test_python_path(monkeypatch, tmp_path, python_path_on):
|
||||
if flag:
|
||||
cmd.append(flag)
|
||||
cmd.extend(["-c", "import json; import sys; print(json.dumps(sys.path))"])
|
||||
- return [i if case_sensitive else i.lower() for i in json.loads(subprocess.check_output(cmd))]
|
||||
+ return [i if case_sensitive else i.lower() for i in json.loads(subprocess.check_output(cmd, encoding="utf-8"))]
|
||||
|
||||
monkeypatch.delenv("PYTHONPATH", raising=False)
|
||||
base = _get_sys_path()
|
||||
diff --git a/tests/unit/discovery/py_info/test_py_info.py b/tests/unit/discovery/py_info/test_py_info.py
|
||||
index 24b129c..f3fdb7e 100644
|
||||
--- a/tests/unit/discovery/py_info/test_py_info.py
|
||||
+++ b/tests/unit/discovery/py_info/test_py_info.py
|
||||
@@ -289,7 +289,7 @@ def test_discover_exe_on_path_non_spec_name_not_match(mocker):
|
||||
assert CURRENT.satisfies(spec, impl_must_match=True) is False
|
||||
|
||||
|
||||
-@pytest.mark.skipif(IS_PYPY, reason="setuptools distutil1s patching does not work")
|
||||
+@pytest.mark.skipif(IS_PYPY, reason="setuptools distutils patching does not work")
|
||||
def test_py_info_setuptools():
|
||||
from setuptools.dist import Distribution
|
||||
|
||||
diff --git a/tests/unit/discovery/windows/conftest.py b/tests/unit/discovery/windows/conftest.py
|
||||
index 58da626..94f14da 100644
|
||||
--- a/tests/unit/discovery/windows/conftest.py
|
||||
+++ b/tests/unit/discovery/windows/conftest.py
|
||||
@@ -9,7 +9,7 @@ def _mock_registry(mocker):
|
||||
from virtualenv.discovery.windows.pep514 import winreg
|
||||
|
||||
loc, glob = {}, {}
|
||||
- mock_value_str = (Path(__file__).parent / "winreg-mock-values.py").read_text()
|
||||
+ mock_value_str = (Path(__file__).parent / "winreg-mock-values.py").read_text(encoding="utf-8")
|
||||
exec(mock_value_str, glob, loc)
|
||||
enum_collect = loc["enum_collect"]
|
||||
value_collect = loc["value_collect"]
|
||||
diff --git a/tests/unit/seed/embed/test_base_embed.py b/tests/unit/seed/embed/test_base_embed.py
|
||||
index 3344c74..ef2f829 100644
|
||||
--- a/tests/unit/seed/embed/test_base_embed.py
|
||||
+++ b/tests/unit/seed/embed/test_base_embed.py
|
||||
@@ -1,3 +1,5 @@
|
||||
+import sys
|
||||
+
|
||||
import pytest
|
||||
|
||||
from virtualenv.run import session_via_cli
|
||||
@@ -10,3 +12,13 @@ from virtualenv.run import session_via_cli
|
||||
def test_download_cli_flag(args, download, tmp_path):
|
||||
session = session_via_cli(args + [str(tmp_path)])
|
||||
assert session.seeder.download is download
|
||||
+
|
||||
+
|
||||
+def test_embed_wheel_versions(tmp_path):
|
||||
+ session = session_via_cli([str(tmp_path)])
|
||||
+ expected = (
|
||||
+ {"pip": "bundle"}
|
||||
+ if sys.version_info[:2] >= (3, 12)
|
||||
+ else {"pip": "bundle", "setuptools": "bundle", "wheel": "bundle"}
|
||||
+ )
|
||||
+ assert session.seeder.distribution_to_versions() == expected
|
||||
diff --git a/tests/unit/seed/embed/test_bootstrap_link_via_app_data.py b/tests/unit/seed/embed/test_bootstrap_link_via_app_data.py
|
||||
index 2c8c3e8..015686d 100644
|
||||
--- a/tests/unit/seed/embed/test_bootstrap_link_via_app_data.py
|
||||
+++ b/tests/unit/seed/embed/test_bootstrap_link_via_app_data.py
|
||||
@@ -203,7 +203,7 @@ def test_populated_read_only_cache_and_copied_app_data(tmp_path, current_fastest
|
||||
@pytest.mark.parametrize("pkg", ["pip", "setuptools", "wheel"])
|
||||
@pytest.mark.usefixtures("session_app_data", "current_fastest", "coverage_env")
|
||||
def test_base_bootstrap_link_via_app_data_no(tmp_path, pkg):
|
||||
- create_cmd = [str(tmp_path), "--seeder", "app-data", f"--no-{pkg}"]
|
||||
+ create_cmd = [str(tmp_path), "--seeder", "app-data", f"--no-{pkg}", "--wheel", "bundle", "--setuptools", "bundle"]
|
||||
result = cli_run(create_cmd)
|
||||
assert not (result.creator.purelib / pkg).exists()
|
||||
for key in {"pip", "setuptools", "wheel"} - {pkg}:
|
||||
@@ -231,7 +231,7 @@ def _run_parallel_threads(tmp_path):
|
||||
|
||||
def _run(name):
|
||||
try:
|
||||
- cli_run(["--seeder", "app-data", str(tmp_path / name), "--no-pip", "--no-setuptools"])
|
||||
+ cli_run(["--seeder", "app-data", str(tmp_path / name), "--no-pip", "--no-setuptools", "--wheel", "bundle"])
|
||||
except Exception as exception:
|
||||
as_str = str(exception)
|
||||
exceptions.append(as_str)
|
||||
diff --git a/tests/unit/seed/wheels/test_periodic_update.py b/tests/unit/seed/wheels/test_periodic_update.py
|
||||
index e7794f5..c36a983 100644
|
||||
--- a/tests/unit/seed/wheels/test_periodic_update.py
|
||||
+++ b/tests/unit/seed/wheels/test_periodic_update.py
|
||||
@@ -66,7 +66,7 @@ def test_manual_upgrade(session_app_data, caplog, mocker, for_py_version):
|
||||
|
||||
@pytest.mark.usefixtures("session_app_data")
|
||||
def test_pick_periodic_update(tmp_path, mocker, for_py_version):
|
||||
- embed, current = get_embed_wheel("setuptools", "3.5"), get_embed_wheel("setuptools", for_py_version)
|
||||
+ embed, current = get_embed_wheel("setuptools", "3.6"), get_embed_wheel("setuptools", for_py_version)
|
||||
mocker.patch("virtualenv.seed.wheels.bundle.load_embed_wheel", return_value=embed)
|
||||
completed = datetime.now() - timedelta(days=29)
|
||||
u_log = UpdateLog(
|
||||
@@ -77,7 +77,20 @@ def test_pick_periodic_update(tmp_path, mocker, for_py_version):
|
||||
)
|
||||
read_dict = mocker.patch("virtualenv.app_data.via_disk_folder.JSONStoreDisk.read", return_value=u_log.to_dict())
|
||||
|
||||
- result = cli_run([str(tmp_path), "--activators", "", "--no-periodic-update", "--no-wheel", "--no-pip"])
|
||||
+ result = cli_run(
|
||||
+ [
|
||||
+ str(tmp_path),
|
||||
+ "--activators",
|
||||
+ "",
|
||||
+ "--no-periodic-update",
|
||||
+ "--no-wheel",
|
||||
+ "--no-pip",
|
||||
+ "--setuptools",
|
||||
+ "bundle",
|
||||
+ "--wheel",
|
||||
+ "bundle",
|
||||
+ ],
|
||||
+ )
|
||||
|
||||
assert read_dict.call_count == 1
|
||||
installed = [i.name for i in result.creator.purelib.iterdir() if i.suffix == ".dist-info"]
|
||||
--
|
||||
2.40.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 1f7c3185124052740814fe5734e8c98f9c54f47c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= <gaborjbernat@gmail.com>
|
||||
Date: Wed, 30 Aug 2023 19:01:20 +0200
|
||||
Subject: [PATCH] Fix tests with pluggy 1.2.0+
|
||||
|
||||
Manually cherry-picked from 9f9dc6250fc88e92b1ca6206429966788846d696
|
||||
---
|
||||
tests/conftest.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/conftest.py b/tests/conftest.py
|
||||
index 68924dc..d23b22e 100644
|
||||
--- a/tests/conftest.py
|
||||
+++ b/tests/conftest.py
|
||||
@@ -23,7 +23,7 @@ def pytest_configure(config):
|
||||
"""Ensure randomly is called before we re-order"""
|
||||
manager = config.pluginmanager
|
||||
# noinspection PyProtectedMember
|
||||
- order = manager.hook.pytest_collection_modifyitems._nonwrappers
|
||||
+ order = manager.hook.pytest_collection_modifyitems._hookimpls
|
||||
dest = next((i for i, p in enumerate(order) if p.plugin is manager.getplugin("randomly")), None)
|
||||
if dest is not None:
|
||||
from_pos = next(i for i, p in enumerate(order) if p.plugin is manager.getplugin(__file__))
|
||||
--
|
||||
2.40.1
|
||||
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
||||
python-virtualenv package is retired on branch c10s for BAKERY-412
|
@ -1,70 +0,0 @@
|
||||
From fc8e412fa8fe524ab3f112f02e865aa42608388b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= <Kulikjak@gmail.com>
|
||||
Date: Thu, 27 Apr 2023 18:52:38 +0200
|
||||
Subject: [PATCH] prevent PermissionError when using venv creator on some
|
||||
systems (#2543)
|
||||
|
||||
Cherry-picked from 0597a2f8ab32705b86a25dbd1d42fd30c3033061
|
||||
---
|
||||
docs/changelog/2543.bugfix.rst | 2 ++
|
||||
src/virtualenv/activation/via_template.py | 4 ++++
|
||||
tests/unit/create/test_creator.py | 22 ++++++++++++++++++++++
|
||||
3 files changed, 28 insertions(+)
|
||||
create mode 100644 docs/changelog/2543.bugfix.rst
|
||||
|
||||
diff --git a/docs/changelog/2543.bugfix.rst b/docs/changelog/2543.bugfix.rst
|
||||
new file mode 100644
|
||||
index 0000000..5f0d6ca
|
||||
--- /dev/null
|
||||
+++ b/docs/changelog/2543.bugfix.rst
|
||||
@@ -0,0 +1,2 @@
|
||||
+Prevent ``PermissionError`` when using venv creator on systems that deliver files without user write
|
||||
+permission - by :user:`kulikjak`.
|
||||
diff --git a/src/virtualenv/activation/via_template.py b/src/virtualenv/activation/via_template.py
|
||||
index 069d52e..cc9dbda 100644
|
||||
--- a/src/virtualenv/activation/via_template.py
|
||||
+++ b/src/virtualenv/activation/via_template.py
|
||||
@@ -41,6 +41,10 @@ class ViaTemplateActivator(Activator, metaclass=ABCMeta):
|
||||
for template in templates:
|
||||
text = self.instantiate_template(replacements, template, creator)
|
||||
dest = to_folder / self.as_name(template)
|
||||
+ # remove the file if it already exists - this prevents permission
|
||||
+ # errors when the dest is not writable
|
||||
+ if dest.exists():
|
||||
+ dest.unlink()
|
||||
# use write_bytes to avoid platform specific line normalization (\n -> \r\n)
|
||||
dest.write_bytes(text.encode("utf-8"))
|
||||
generated.append(dest)
|
||||
diff --git a/tests/unit/create/test_creator.py b/tests/unit/create/test_creator.py
|
||||
index ea61ed0..0ec6d62 100644
|
||||
--- a/tests/unit/create/test_creator.py
|
||||
+++ b/tests/unit/create/test_creator.py
|
||||
@@ -690,3 +690,25 @@ def test_py_pyc_missing(tmp_path, mocker, py, pyc):
|
||||
|
||||
pyc_at = Python2.from_stdlib(Python2.mappings(CURRENT), "osc.py")[1](result.creator, Path("os.pyc"))
|
||||
assert pyc_at.exists() is pyc
|
||||
+
|
||||
+
|
||||
+# Make sure that the venv creator works on systems where vendor-delivered files
|
||||
+# (specifically venv scripts delivered with Python itself) are not writable.
|
||||
+#
|
||||
+# https://github.com/pypa/virtualenv/issues/2419
|
||||
+@pytest.mark.skipif("venv" not in CURRENT_CREATORS, reason="test needs venv creator")
|
||||
+def test_venv_creator_without_write_perms(tmp_path, mocker):
|
||||
+ from virtualenv.run.session import Session
|
||||
+
|
||||
+ prev = Session._create
|
||||
+
|
||||
+ def func(self):
|
||||
+ prev(self)
|
||||
+ scripts_dir = self.creator.dest / "bin"
|
||||
+ for script in scripts_dir.glob("*ctivate*"):
|
||||
+ script.chmod(stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
|
||||
+
|
||||
+ mocker.patch("virtualenv.run.session.Session._create", side_effect=func, autospec=True)
|
||||
+
|
||||
+ cmd = [str(tmp_path), "--seeder", "app-data", "--without-pip", "--creator", "venv"]
|
||||
+ cli_run(cmd)
|
||||
--
|
||||
2.40.0
|
||||
|
60
py3.13.patch
60
py3.13.patch
@ -1,60 +0,0 @@
|
||||
From 11c30f6c69c4516b406c1c62f472d37898c58b93 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Mon, 4 Dec 2023 14:26:52 +0100
|
||||
Subject: [PATCH] Run CI tests on Python 3.13, fix tests (#2673)
|
||||
|
||||
---
|
||||
docs/changelog/2673.feature.rst | 1 +
|
||||
tests/unit/create/test_creator.py | 6 +++++-
|
||||
tests/unit/create/via_global_ref/builtin/testing/path.py | 6 +++++-
|
||||
3 files changed, 11 insertions(+), 2 deletions(-)
|
||||
create mode 100644 docs/changelog/2673.feature.rst
|
||||
|
||||
diff --git a/docs/changelog/2673.feature.rst b/docs/changelog/2673.feature.rst
|
||||
new file mode 100644
|
||||
index 0000000..0adf4a0
|
||||
--- /dev/null
|
||||
+++ b/docs/changelog/2673.feature.rst
|
||||
@@ -0,0 +1 @@
|
||||
+The tests now pass on the CI with Python 3.13.0a2 - by :user:`hroncok`.
|
||||
diff --git a/tests/unit/create/test_creator.py b/tests/unit/create/test_creator.py
|
||||
index 8b9d688..fc21ad8 100644
|
||||
--- a/tests/unit/create/test_creator.py
|
||||
+++ b/tests/unit/create/test_creator.py
|
||||
@@ -231,7 +231,11 @@ def test_create_no_seed(python, creator, isolated, system, coverage_env, special
|
||||
assert os.path.exists(make_file)
|
||||
|
||||
git_ignore = (dest / ".gitignore").read_text(encoding="utf-8")
|
||||
- assert git_ignore.splitlines() == ["# created by virtualenv automatically", "*"]
|
||||
+ if creator_key == "venv" and sys.version_info >= (3, 13):
|
||||
+ comment = "# Created by venv; see https://docs.python.org/3/library/venv.html"
|
||||
+ else:
|
||||
+ comment = "# created by virtualenv automatically"
|
||||
+ assert git_ignore.splitlines() == [comment, "*"]
|
||||
|
||||
|
||||
def test_create_vcs_ignore_exists(tmp_path):
|
||||
diff --git a/tests/unit/create/via_global_ref/builtin/testing/path.py b/tests/unit/create/via_global_ref/builtin/testing/path.py
|
||||
index b2e1b85..d833de6 100644
|
||||
--- a/tests/unit/create/via_global_ref/builtin/testing/path.py
|
||||
+++ b/tests/unit/create/via_global_ref/builtin/testing/path.py
|
||||
@@ -44,11 +44,15 @@ class PathMockABC(FakeDataABC, Path):
|
||||
"""Mocks the behavior of `Path`"""
|
||||
|
||||
_flavour = getattr(Path(), "_flavour", None)
|
||||
-
|
||||
if hasattr(_flavour, "altsep"):
|
||||
# Allows to pass some tests for Windows via PosixPath.
|
||||
_flavour.altsep = _flavour.altsep or "\\"
|
||||
|
||||
+ # Python 3.13 renamed _flavour to pathmod
|
||||
+ pathmod = getattr(Path(), "pathmod", None)
|
||||
+ if hasattr(pathmod, "altsep"):
|
||||
+ pathmod.altsep = pathmod.altsep or "\\"
|
||||
+
|
||||
def exists(self):
|
||||
return self.is_file() or self.is_dir()
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,594 +0,0 @@
|
||||
Name: python-virtualenv
|
||||
Version: 20.21.1
|
||||
Release: 7%{?dist}
|
||||
Summary: Tool to create isolated Python environments
|
||||
|
||||
License: MIT
|
||||
URL: http://pypi.python.org/pypi/virtualenv
|
||||
Source0: %{pypi_source virtualenv}
|
||||
|
||||
# Add /usr/share/python-wheels to extra_search_dir
|
||||
Patch1: rpm-wheels.patch
|
||||
|
||||
## Backports from virtualenv 20.22+
|
||||
## We cannot update yet as we want to preserve support for Python 2.7 and 3.6 environments
|
||||
## Patches in https://github.com/fedora-python/virtualenv/commits/20.21.x
|
||||
# (20.23.0) prevent PermissionError when using venv creator on some systems
|
||||
# https://github.com/pypa/virtualenv/pull/2543
|
||||
Patch2: prevent-PermissionError-when-using-venv-creator-on-s.patch
|
||||
# (20.23.0) 3.12 support and no setuptools/wheel on 3.12+
|
||||
# freezgun and typing changes stripped
|
||||
# files missing in sdist removed from the path file
|
||||
# https://github.com/pypa/virtualenv/pull/2558
|
||||
Patch3: 3.12-support-and-no-setuptools-wheel-on-3.12-2558.patch
|
||||
# (20.24.0) Fix tests with pluggy 1.2.0+
|
||||
# Manually cherry-picked from https://github.com/pypa/virtualenv/pull/2593
|
||||
Patch4: Fix-tests-with-pluggy-1.2.0.patch
|
||||
# Fix compatibility with Python 3.13
|
||||
# https://github.com/pypa/virtualenv/pull/2673
|
||||
Patch5: py3.13.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
|
||||
%bcond_without tests
|
||||
%if %{with tests}
|
||||
BuildRequires: fish
|
||||
BuildRequires: tcsh
|
||||
BuildRequires: gcc
|
||||
BuildRequires: python3-flaky
|
||||
BuildRequires: python3-packaging
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-pytest-mock
|
||||
BuildRequires: python3-pytest-randomly
|
||||
BuildRequires: python3-pytest-timeout
|
||||
|
||||
# The .dist-info folder generated by
|
||||
# %%pyproject_buildrequires confuses
|
||||
# importlib.metadata entry points and
|
||||
# that leads to failed tests where
|
||||
# virtualenv is run via subprocess.
|
||||
# The .dist-info is removed since:
|
||||
BuildRequires: pyproject-rpm-macros >= 1.6.3
|
||||
%endif
|
||||
|
||||
# RPM installed wheels
|
||||
BuildRequires: %{python_wheel_pkg_prefix}-pip-wheel
|
||||
BuildRequires: %{python_wheel_pkg_prefix}-setuptools-wheel
|
||||
BuildRequires: %{python_wheel_pkg_prefix}-wheel-wheel
|
||||
|
||||
%description
|
||||
virtualenv is a tool to create isolated Python environments. virtualenv
|
||||
is a successor to workingenv, and an extension of virtual-python. It is
|
||||
written by Ian Bicking, and sponsored by the Open Planning Project. It is
|
||||
licensed under an MIT-style permissive license.
|
||||
|
||||
|
||||
%package -n python3-virtualenv
|
||||
Summary: Tool to create isolated Python environments
|
||||
|
||||
# This virtualenv requires the "venv" install scheme on Pythons
|
||||
# where we patch "posix_prefix".
|
||||
# Explicitly conflict with Pythons where we don't have it yet.
|
||||
Conflicts: python3.11 < 3.11.0~a2
|
||||
%if 0%{?fedora} >= 36
|
||||
Conflicts: python3.10 < 3.10.0-3
|
||||
%endif
|
||||
|
||||
Obsoletes: python3-virtualenv-python26 < 16.6
|
||||
%{?python_provide:%python_provide python3-virtualenv}
|
||||
|
||||
# Provide "virtualenv" for convenience
|
||||
Provides: virtualenv = %{version}-%{release}
|
||||
|
||||
# RPM installed wheels
|
||||
Requires: %{python_wheel_pkg_prefix}-pip-wheel
|
||||
Requires: %{python_wheel_pkg_prefix}-setuptools-wheel
|
||||
Requires: %{python_wheel_pkg_prefix}-wheel-wheel
|
||||
# Pythons < 3.7 need an older version of wheel:
|
||||
Requires: (%{python_wheel_pkg_prefix}-wheel0.37-wheel if python2.7)
|
||||
Requires: (%{python_wheel_pkg_prefix}-wheel0.37-wheel if pypy2.7)
|
||||
Requires: (%{python_wheel_pkg_prefix}-wheel0.37-wheel if python3.6)
|
||||
|
||||
%description -n python3-virtualenv
|
||||
virtualenv is a tool to create isolated Python environments. virtualenv
|
||||
is a successor to workingenv, and an extension of virtual-python. It is
|
||||
written by Ian Bicking, and sponsored by the Open Planning Project. It is
|
||||
licensed under an MIT-style permissive license
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n virtualenv-%{version}
|
||||
|
||||
# Remove the wheels provided by RPM packages
|
||||
rm src/virtualenv/seed/wheels/embed/pip-*
|
||||
rm src/virtualenv/seed/wheels/embed/setuptools-*
|
||||
rm src/virtualenv/seed/wheels/embed/wheel-*
|
||||
|
||||
test ! -f src/virtualenv/seed/embed/wheels/*.whl
|
||||
|
||||
# Replace hardcoded path from rpm-wheels.patch by %%{python_wheel_dir}
|
||||
# On Fedora, this should change nothing, but when building for RHEL9+, it will
|
||||
sed -i "s|/usr/share/python-wheels|%{python_wheel_dir}|" src/virtualenv/util/path/_system_wheels.py
|
||||
|
||||
# Allow platformdirs version 4
|
||||
# Backported from release 20.24.7
|
||||
# https://github.com/pypa/virtualenv/commit/55650340d9c9415bf035596266f245a8d59c6993
|
||||
sed -i "s/platformdirs<4/platformdirs<5/" pyproject.toml
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files virtualenv
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
# Skip tests which requires internet or some extra dependencies
|
||||
# Requires internet:
|
||||
# - test_download_*
|
||||
# - test_can_build_c_extensions (on Python 3.12+)
|
||||
# Uses disabled functionalities around bundled wheels:
|
||||
# - test_wheel_*
|
||||
# - test_seed_link_via_app_data
|
||||
# - test_base_bootstrap_via_pip_invoke
|
||||
# - test_acquire.py (whole file)
|
||||
# - test_bundle.py (whole file)
|
||||
# Uses disabled functionalities around automatic updates:
|
||||
# - test_periodic_update.py (whole file)
|
||||
# Requires Python 2:
|
||||
# - test_py_pyc_missing
|
||||
PIP_CERT=/etc/pki/tls/certs/ca-bundle.crt \
|
||||
%pytest -vv -k "not test_bundle and \
|
||||
not test_acquire and \
|
||||
not test_periodic_update and \
|
||||
not test_wheel_ and \
|
||||
not test_download_ and \
|
||||
%if v"%{python3_version}" >= v"3.12"
|
||||
not test_can_build_c_extensions and \
|
||||
%endif
|
||||
not test_base_bootstrap_via_pip_invoke and \
|
||||
not test_seed_link_via_app_data and \
|
||||
not test_py_pyc_missing"
|
||||
%endif
|
||||
|
||||
%files -n python3-virtualenv -f %{pyproject_files}
|
||||
%doc README.md
|
||||
%{_bindir}/virtualenv
|
||||
|
||||
%changelog
|
||||
* Mon Dec 04 2023 Lumír Balhar <lbalhar@redhat.com> - 20.21.1-7
|
||||
- Fix compatibility with Python 3.13
|
||||
Resolves: rhbz#2251781
|
||||
|
||||
* Thu Nov 23 2023 Lumír Balhar <lbalhar@redhat.com> - 20.21.1-6
|
||||
- Allow platformdirs version 4
|
||||
|
||||
* Wed Aug 30 2023 Miro Hrončok <mhroncok@redhat.com> - 20.21.1-5
|
||||
- Fix tests with pluggy 1.2.0+
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20.21.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 20.21.1-3
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 20.21.1-2
|
||||
- Bootstrap for Python 3.12
|
||||
|
||||
* Fri Apr 28 2023 Miro Hrončok <mhroncok@redhat.com> - 20.21.1-1
|
||||
- Update to 20.21.1
|
||||
- Backport from 20.23.0: Don't install setuptools and wheel to Python 3.12+ environments
|
||||
|
||||
* Mon Mar 13 2023 Lumír Balhar <lbalhar@redhat.com> - 20.21.0-1
|
||||
- Update to 20.21.0 (rhbz#2177543)
|
||||
|
||||
* Mon Mar 06 2023 Miro Hrončok <mhroncok@redhat.com> - 20.20.0-2
|
||||
- Fix build with pyproject-rpm-macros >= 1.6.3
|
||||
- Local workaround collided with the fix there
|
||||
|
||||
* Wed Mar 01 2023 Lumír Balhar <lbalhar@redhat.com> - 20.20.0-1
|
||||
- Update to 20.20.0 (rhbz#2174221)
|
||||
|
||||
* Thu Feb 09 2023 Lumír Balhar <lbalhar@redhat.com> - 20.19.0-1
|
||||
- Update to 20.19.0 (rhbz#2167499)
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20.17.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Mon Dec 12 2022 Miro Hrončok <mhroncok@redhat.com> - 20.17.1-2
|
||||
- Require python-wheel0.37-wheel for older Pythons
|
||||
|
||||
* Wed Dec 07 2022 Lumír Balhar <lbalhar@redhat.com> - 20.17.1-1
|
||||
- Update to 20.17.1 (rhbz#2151044)
|
||||
|
||||
* Thu Dec 01 2022 Lumír Balhar <lbalhar@redhat.com> - 20.17.0-1
|
||||
- Update to 20.17.0 (rhbz#2148907)
|
||||
|
||||
* Mon Nov 14 2022 Lumír Balhar <lbalhar@redhat.com> - 20.16.7-1
|
||||
- Update to 20.16.7 (#2142311)
|
||||
|
||||
* Thu Oct 27 2022 Lumír Balhar <lbalhar@redhat.com> - 20.16.6-1
|
||||
- Update to 20.16.6
|
||||
Resolves: rhbz#2137713
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20.15.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jun 29 2022 Lumír Balhar <lbalhar@redhat.com> - 20.15.1-1
|
||||
- Update to 20.15.1
|
||||
Resolves: rhbz#2101975
|
||||
|
||||
* Sun Jun 26 2022 Lumír Balhar <lbalhar@redhat.com> - 20.15.0-1
|
||||
- Update to 20.15.0
|
||||
Resolves: rhbz#2101126
|
||||
|
||||
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 20.13.4-4
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 20.13.4-3
|
||||
- Bootstrap for Python 3.11
|
||||
|
||||
* Mon Jun 06 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.4-2
|
||||
- Improve compatibility with Python 3.11
|
||||
Resolves: rhbz#2093193
|
||||
|
||||
* Mon Mar 21 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.4-1
|
||||
- Update to 20.13.4
|
||||
Resolves: rhbz#2065839
|
||||
|
||||
* Mon Mar 14 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20.13.3-3
|
||||
- BR tcsh so we can test csh activation scripts
|
||||
|
||||
* Mon Mar 14 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.3-2
|
||||
- Add explicit error when embed version of wheels is requested
|
||||
Resolves: rhbz#2053948
|
||||
|
||||
* Tue Mar 08 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.3-1
|
||||
- Update to 20.13.3
|
||||
Resolves: rhbz#2061449
|
||||
|
||||
* Fri Feb 25 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.2-1
|
||||
- Update to 20.13.2
|
||||
Resolves: rhbz#2058146
|
||||
|
||||
* Sun Feb 06 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.1-1
|
||||
- Update to 20.13.1
|
||||
Resolves: rhbz#2051025
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20.13.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Jan 03 2022 Lumír Balhar <lbalhar@redhat.com> - 20.13.0-1
|
||||
- Update to 20.13.0
|
||||
Resolves: rhbz#2035895
|
||||
|
||||
* Mon Nov 08 2021 Lumír Balhar <lbalhar@redhat.com> - 20.10.0-2
|
||||
- Remove hack for local/ prefixes
|
||||
|
||||
* Tue Nov 02 2021 Lumír Balhar <lbalhar@redhat.com> - 20.10.0-1
|
||||
- Update to 20.10.0
|
||||
Resolves: rhbz#2019116
|
||||
|
||||
* Mon Oct 25 2021 Lumír Balhar <lbalhar@redhat.com> - 20.9.0-1
|
||||
- Update to 20.9.0
|
||||
Resolves: rhbz#2016758
|
||||
|
||||
* Wed Oct 06 2021 Lumír Balhar <lbalhar@redhat.com> - 20.8.1-1
|
||||
- Update to 20.8.1
|
||||
Resoves: rhbz#2007595
|
||||
|
||||
* Wed Oct 06 2021 Miro Hrončok <mhroncok@redhat.com> - 20.7.2-2
|
||||
- Remove /local/ part from virtualenv paths
|
||||
Resolves: rhbz#2011455
|
||||
|
||||
* Mon Aug 16 2021 Lumír Balhar <lbalhar@redhat.com> - 20.7.2-1
|
||||
- Update to 20.7.2
|
||||
Resolves: rhbz#1991618
|
||||
|
||||
* Sun Aug 01 2021 Lumír Balhar <lbalhar@redhat.com> - 20.7.0-1
|
||||
- Update to 20.7.0
|
||||
Resolves: rhbz#1988721
|
||||
|
||||
* Wed Jul 21 2021 Lumír Balhar <lbalhar@redhat.com> - 20.6.0-1
|
||||
- Update to 20.6.0
|
||||
Resolves: rhbz#1981792
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 20.4.7-3
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 20.4.7-2
|
||||
- Bootstrap for Python 3.10
|
||||
|
||||
* Tue May 25 2021 Lumír Balhar <lbalhar@redhat.com> - 20.4.7-1
|
||||
- Update to 20.4.7
|
||||
Resolves: rhbz#1964115
|
||||
|
||||
* Wed Apr 21 2021 Lumír Balhar <lbalhar@redhat.com> - 20.4.4-1
|
||||
- Update to 20.4.4
|
||||
Resolves: rhbz#1951515
|
||||
|
||||
* Wed Mar 17 2021 Lumír Balhar <lbalhar@redhat.com> - 20.4.3-1
|
||||
- Update to 20.4.3
|
||||
Resolves: rhbz#1939428
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20.4.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jan 19 2021 Lumír Balhar <lbalhar@redhat.com> - 20.4.0-1
|
||||
- Update to 20.4.0 (#1915682)
|
||||
|
||||
* Tue Jan 12 2021 Lumír Balhar <lbalhar@redhat.com> - 20.3.0-1
|
||||
- Update to 20.3.0 (#1914641)
|
||||
|
||||
* Mon Nov 23 2020 Lumír Balhar <lbalhar@redhat.com> - 20.2.1-1
|
||||
- Update to 20.2.1 (#1900253)
|
||||
|
||||
* Wed Nov 18 2020 Lumír Balhar <lbalhar@redhat.com> - 20.1.0-1
|
||||
- Update to 20.1.0 (#1891297)
|
||||
|
||||
* Fri Oct 02 2020 Lumír Balhar <lbalhar@redhat.com> - 20.0.32-1
|
||||
- Update to 20.0.32 (#1884449)
|
||||
|
||||
* Thu Sep 03 2020 Lumír Balhar <lbalhar@redhat.com> - 20.0.31-1
|
||||
- Update to 20.0.31 (#1869352)
|
||||
|
||||
* Thu Aug 06 2020 Lumír Balhar <lbalhar@redhat.com> - 20.0.30-1
|
||||
- Update to 20.0.30 (#1862562)
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20.0.28-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jul 24 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.28-1
|
||||
- Update to 20.0.28
|
||||
- Fixes rhbz#1860272
|
||||
|
||||
* Thu Jul 23 2020 Lumír Balhar <lbalhar@redhat.com> - 20.0.27-1
|
||||
- Update to 20.0.27 (#1854551)
|
||||
|
||||
* Tue Jun 23 2020 Lumír Balhar <lbalhar@redhat.com> - 20.0.25-1
|
||||
- Update to 20.0.25
|
||||
|
||||
* Mon Jun 15 2020 Lumír Balhar <lbalhar@redhat.com> - 20.0.23-1
|
||||
- Update to 20.0.23 (#1742034)
|
||||
|
||||
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 16.7.10-2
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Tue Feb 25 2020 Miro Hrončok <mhroncok@redhat.com> - 16.7.10-1
|
||||
- Update to 16.7.10
|
||||
- Explicitly require setuptools < 44 with Python 3.4
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 16.7.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Sep 03 2019 Miro Hrončok <mhroncok@redhat.com> - 16.7.3-2
|
||||
- Prefer wheels bundled in Python's ensurepip module over the RPM built ones
|
||||
- This allows continuing support for Python 3.4 in Fedora 32+
|
||||
|
||||
* Wed Aug 21 2019 Charalampos Stratakis <cstratak@redhat.com> - 16.7.3-1
|
||||
- Update to 16.7.3 (#1742034)
|
||||
|
||||
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 16.6.1-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Mon Jul 29 2019 Miro Hrončok <mhroncok@redhat.com> - 16.6.1-2
|
||||
- Drop python2-virtualenv
|
||||
|
||||
* Thu Jul 11 2019 Miro Hrončok <mhroncok@redhat.com> - 16.6.1-1
|
||||
- Update to 16.6.1 (#1699031)
|
||||
- No more Python 2.6 or Jython support
|
||||
- Drop runtime dependency on pythonX-devel
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 16.0.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Dec 13 2018 Miro Hrončok <mhroncok@redhat.com> - 16.0.0-6
|
||||
- Don't fail on missing certifi's cert bundle (#1655253)
|
||||
|
||||
* Wed Aug 15 2018 Miro Hrončok <mhroncok@redhat.com> - 16.0.0-5
|
||||
- Use wheels from RPM packages
|
||||
- Put wheels needed for Python 2.6 into a subpackage
|
||||
- Only have one /usr/bin/virtualenv (#1599422)
|
||||
- Provide "virtualenv" (#1502670)
|
||||
|
||||
* Wed Jul 18 2018 Miro Hrončok <mhroncok@redhat.com> - 16.0.0-4
|
||||
- Reintroduce support for Python 2.6 (#1602347)
|
||||
- Add missing bundled provides
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.0.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Sat Jun 16 2018 Miro Hrončok <mhroncok@redhat.com> - 16.0.0-2
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Thu May 17 2018 Steve Milner <smilner@redhat.com> - 16.0.0-1
|
||||
- Updated for upstream release.
|
||||
|
||||
* Wed Feb 28 2018 Iryna Shcherbina <ishcherb@redhat.com> - 15.1.0-5
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 15.1.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Sep 29 2017 Troy Dawson <tdawson@redhat.com> - 15.1.0-3
|
||||
- Cleanup spec file conditionals
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 15.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon Jun 12 2017 Steve Milner <smilner@redhat.com> - 15.1.0-1
|
||||
- Update to 15.1.0 per https://bugzilla.redhat.com/show_bug.cgi?id=1454962
|
||||
|
||||
* Fri Feb 17 2017 Michal Cyprian <mcyprian@redhat.com> - 15.0.3-6
|
||||
- Check if exec_dir exists before listing it's content during venv create process
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 15.0.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Jan 4 2017 Steve Milner <smilner@redhat.com> - 15.0.3-4
|
||||
- Updated version binaries per discussion at bz#1385240.
|
||||
|
||||
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 15.0.3-3
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Mon Oct 17 2016 Steve Milner <smilner@redhat.com> - 15.0.3-2
|
||||
- Added MAJOR symlinks per bz#1385240.
|
||||
|
||||
* Mon Aug 8 2016 Steve Milner <smilner@redhat.com> - 15.0.3-1
|
||||
- Update for upstream release.
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.0.6-2
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Sun Feb 21 2016 Orion Poplawski <orion@cora.nwra.com> - 14.0.6-1
|
||||
- Update to 14.0.6
|
||||
|
||||
* Tue Feb 2 2016 Orion Poplawski <orion@cora.nwra.com> - 13.1.2-4
|
||||
- Modernize spec
|
||||
- Fix python3 package file ownership
|
||||
|
||||
* Wed Dec 2 2015 Orion Poplawski <orion@cora.nwra.com> - 13.1.2-3
|
||||
- Move documentation to separate package (bug #1219139)
|
||||
|
||||
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 13.1.2-2
|
||||
- Rebuilt for Python3.5 rebuild
|
||||
|
||||
* Mon Aug 24 2015 Steve Milner <smilner@redhat.com> - 13.1.2-1
|
||||
- Update for upstream release.
|
||||
|
||||
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 12.0.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Mar 16 2015 Matej Stuchlik <mstuchli@redhat.com> - 12.0.7-1
|
||||
- Update to 12.0.7
|
||||
|
||||
* Thu Jan 15 2015 Matthias Runge <mrunge@redhat.com> - 1.11.6-2
|
||||
- add a python3-package, thanks to Matej Stuchlik (rhbz#1179150)
|
||||
|
||||
* Wed Jul 09 2014 Matthias Runge <mrunge@redhat.com> - 1.11.6-1
|
||||
- update to 1.11.6:
|
||||
Upstream updated setuptools to 3.6, updated pip to 1.5.6
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu Aug 15 2013 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.10.1-1
|
||||
- Upstream upgraded pip to v1.4.1
|
||||
- Upstream upgraded setuptools to v0.9.8 (fixes CVE-2013-1633)
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue May 14 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.9.1-1
|
||||
- Update to upstream 1.9.1 because of security issues with the bundled
|
||||
python-pip in older releases. This is just a quick fix until a
|
||||
python-virtualenv maintainer can unbundle the python-pip package
|
||||
see: https://bugzilla.redhat.com/show_bug.cgi?id=749378
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Tue Aug 14 2012 Steve Milner <me@stevemilner.org> - 1.7.2-1
|
||||
- Update for upstream bug fixes.
|
||||
- Added path for versioned binary.
|
||||
- Patch no longer required.
|
||||
|
||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.1.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Mar 14 2012 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.7.1.2-1
|
||||
- Update for upstream bug fixes.
|
||||
- Added patch for sphinx building
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Dec 20 2011 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.7-1
|
||||
- Update for https://bugzilla.redhat.com/show_bug.cgi?id=769067
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Sat Oct 16 2010 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.5.1-1
|
||||
- Added _weakrefset requirement for Python 2.7.1.
|
||||
- Add support for PyPy.
|
||||
- Uses a proper temporary dir when installing environment requirements.
|
||||
- Add --prompt option to be able to override the default prompt prefix.
|
||||
- Add fish and csh activate scripts.
|
||||
|
||||
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 1.4.8-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Wed Jul 7 2010 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.4.8-3
|
||||
- Fixed EPEL installation issue from BZ#611536
|
||||
|
||||
* Wed Jun 9 2010 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.4.8-2
|
||||
- Only replace the python shebang on the first line (Robert Buchholz)
|
||||
|
||||
* Wed Apr 28 2010 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.4.8-1
|
||||
- update pip to 0.7
|
||||
- move regen-docs into bin/
|
||||
- Fix #31, make activate_this.py work on Windows (use Lib/site-packages)
|
||||
unset PYTHONHOME envioronment variable -- first step towards fixing the PYTHONHOME issue; see e.g. https://bugs.launchpad.net/virtualenv/+bug/290844
|
||||
- unset PYTHONHOME in the (Unix) activate script (and reset it in deactivate())
|
||||
- use the activate.sh in virtualenv.py via running bin/rebuild-script.py
|
||||
- add warning message if PYTHONHOME is set
|
||||
|
||||
* Fri Apr 2 2010 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.4.6-1
|
||||
- allow script creation without setuptools
|
||||
- fix problem with --relocate when bin/ has subdirs (fixes #12)
|
||||
- Allow more flexible .pth file fixup
|
||||
- make nt a required module, along with posix. it may not be a builtin module on jython
|
||||
- don't mess with PEP 302-supplied __file__, from CPython, and merge in a small startup optimization for Jython, from Jython
|
||||
|
||||
* Tue Dec 22 2009 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.4.3-1
|
||||
- Updated for upstream release.
|
||||
|
||||
* Thu Nov 12 2009 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.4.2-1
|
||||
- Updated for upstream release.
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Tue Apr 28 2009 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.3.3-1
|
||||
- Updated for upstream release.
|
||||
|
||||
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Thu Dec 25 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.3.2-1
|
||||
- Updated for upstream release.
|
||||
|
||||
* Thu Dec 04 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 1.3.1-4
|
||||
- Rebuild for Python 2.6
|
||||
|
||||
* Mon Dec 1 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.3.1-3
|
||||
- Added missing dependencies.
|
||||
|
||||
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 1.3.1-2
|
||||
- Rebuild for Python 2.6
|
||||
|
||||
* Fri Nov 28 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.3.1-1
|
||||
- Updated for upstream release
|
||||
|
||||
* Sun Sep 28 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.3-1
|
||||
- Updated for upstream release
|
||||
|
||||
* Sat Aug 30 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.2-1
|
||||
- Updated for upstream release
|
||||
|
||||
* Fri Aug 29 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.1-3
|
||||
- Updated from review notes
|
||||
|
||||
* Thu Aug 28 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.1-2
|
||||
- Updated from review notes
|
||||
|
||||
* Tue Aug 26 2008 Steve 'Ashcrow' Milner <me@stevemilner.org> - 1.1-1
|
||||
- Initial Version
|
144
rpm-wheels.patch
144
rpm-wheels.patch
@ -1,144 +0,0 @@
|
||||
From 0558dbfcd0d89f52aa251481ba41ab4cfa2cb6da Mon Sep 17 00:00:00 2001
|
||||
From: Lumir Balhar <lbalhar@redhat.com>
|
||||
Date: Thu, 9 Feb 2023 15:13:36 +0100
|
||||
Subject: [PATCH] RPM wheels
|
||||
|
||||
---
|
||||
src/virtualenv/run/__init__.py | 5 +++--
|
||||
src/virtualenv/seed/embed/base_embed.py | 16 +++++++++++++-
|
||||
src/virtualenv/seed/embed/pip_invoke.py | 1 +
|
||||
.../seed/embed/via_app_data/via_app_data.py | 1 +
|
||||
src/virtualenv/seed/wheels/embed/__init__.py | 4 ++++
|
||||
src/virtualenv/util/path/_system_wheels.py | 22 +++++++++++++++++++
|
||||
6 files changed, 46 insertions(+), 3 deletions(-)
|
||||
create mode 100644 src/virtualenv/util/path/_system_wheels.py
|
||||
|
||||
diff --git a/src/virtualenv/run/__init__.py b/src/virtualenv/run/__init__.py
|
||||
index 6d22b71..19d1791 100644
|
||||
--- a/src/virtualenv/run/__init__.py
|
||||
+++ b/src/virtualenv/run/__init__.py
|
||||
@@ -87,8 +87,9 @@ def build_parser_only(args=None):
|
||||
|
||||
def handle_extra_commands(options):
|
||||
if options.upgrade_embed_wheels:
|
||||
- result = manual_upgrade(options.app_data, options.env)
|
||||
- raise SystemExit(result)
|
||||
+ # result = manual_upgrade(options.app_data, options.env)
|
||||
+ logging.warning("virtualenv installed from the RPM package uses wheels from RPM packages as well. Updating them via virtualenv is not possible. The RPM packaged wheels are updated together with other RPM packages of the system.")
|
||||
+ raise SystemExit(1)
|
||||
|
||||
|
||||
def load_app_data(args, parser, options):
|
||||
diff --git a/src/virtualenv/seed/embed/base_embed.py b/src/virtualenv/seed/embed/base_embed.py
|
||||
index f29110b..07649c2 100644
|
||||
--- a/src/virtualenv/seed/embed/base_embed.py
|
||||
+++ b/src/virtualenv/seed/embed/base_embed.py
|
||||
@@ -3,8 +3,9 @@ from pathlib import Path
|
||||
|
||||
from ..seeder import Seeder
|
||||
from ..wheels import Version
|
||||
+from virtualenv.util.path._system_wheels import get_system_wheels_paths
|
||||
|
||||
-PERIODIC_UPDATE_ON_BY_DEFAULT = True
|
||||
+PERIODIC_UPDATE_ON_BY_DEFAULT = False
|
||||
|
||||
|
||||
class BaseEmbed(Seeder, metaclass=ABCMeta):
|
||||
@@ -27,6 +28,15 @@ class BaseEmbed(Seeder, metaclass=ABCMeta):
|
||||
if not self.distribution_to_versions():
|
||||
self.enabled = False
|
||||
|
||||
+ if "embed" in (self.pip_version, self.setuptools_version, self.wheel_version):
|
||||
+ raise RuntimeError(
|
||||
+ "Embedded wheels are not available if virtualenv "
|
||||
+ "is installed from the RPM package.\nEither install "
|
||||
+ "virtualenv from PyPI (via pip) or use 'bundle' "
|
||||
+ "version which uses the system-wide pip, setuptools "
|
||||
+ "and wheel wheels provided also by RPM packages."
|
||||
+ )
|
||||
+
|
||||
@classmethod
|
||||
def distributions(cls):
|
||||
return {
|
||||
@@ -105,6 +115,10 @@ class BaseEmbed(Seeder, metaclass=ABCMeta):
|
||||
result += f" {distribution}{ver},"
|
||||
return result[:-1] + ")"
|
||||
|
||||
+ def insert_system_wheels_paths(self, creator):
|
||||
+ system_wheels_paths = get_system_wheels_paths(creator.interpreter)
|
||||
+ self.extra_search_dir = list(system_wheels_paths) + self.extra_search_dir
|
||||
+
|
||||
|
||||
__all__ = [
|
||||
"BaseEmbed",
|
||||
diff --git a/src/virtualenv/seed/embed/pip_invoke.py b/src/virtualenv/seed/embed/pip_invoke.py
|
||||
index 2ca9438..339295f 100644
|
||||
--- a/src/virtualenv/seed/embed/pip_invoke.py
|
||||
+++ b/src/virtualenv/seed/embed/pip_invoke.py
|
||||
@@ -15,6 +15,7 @@ class PipInvoke(BaseEmbed):
|
||||
def run(self, creator):
|
||||
if not self.enabled:
|
||||
return
|
||||
+ self.insert_system_wheels_paths(creator)
|
||||
for_py_version = creator.interpreter.version_release_str
|
||||
with self.get_pip_install_cmd(creator.exe, for_py_version) as cmd:
|
||||
env = pip_wheel_env_run(self.extra_search_dir, self.app_data, self.env)
|
||||
diff --git a/src/virtualenv/seed/embed/via_app_data/via_app_data.py b/src/virtualenv/seed/embed/via_app_data/via_app_data.py
|
||||
index f31ecf6..d7a0f5a 100644
|
||||
--- a/src/virtualenv/seed/embed/via_app_data/via_app_data.py
|
||||
+++ b/src/virtualenv/seed/embed/via_app_data/via_app_data.py
|
||||
@@ -37,6 +37,7 @@ class FromAppData(BaseEmbed):
|
||||
def run(self, creator):
|
||||
if not self.enabled:
|
||||
return
|
||||
+ self.insert_system_wheels_paths(creator)
|
||||
with self._get_seed_wheels(creator) as name_to_whl:
|
||||
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 f779e07..db141ae 100644
|
||||
--- a/src/virtualenv/seed/wheels/embed/__init__.py
|
||||
+++ b/src/virtualenv/seed/wheels/embed/__init__.py
|
||||
@@ -53,7 +53,11 @@ BUNDLE_SUPPORT = {
|
||||
MAX = "3.12"
|
||||
|
||||
|
||||
+# Redefined here because bundled wheels are removed in RPM build
|
||||
+BUNDLE_SUPPORT = None
|
||||
+
|
||||
def get_embed_wheel(distribution, for_py_version):
|
||||
+ return None # BUNDLE_SUPPORT == None anyway
|
||||
path = BUNDLE_FOLDER / (BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX]).get(distribution)
|
||||
return Wheel.from_path(path)
|
||||
|
||||
diff --git a/src/virtualenv/util/path/_system_wheels.py b/src/virtualenv/util/path/_system_wheels.py
|
||||
new file mode 100644
|
||||
index 0000000..f3fd9b1
|
||||
--- /dev/null
|
||||
+++ b/src/virtualenv/util/path/_system_wheels.py
|
||||
@@ -0,0 +1,22 @@
|
||||
+from pathlib import Path
|
||||
+from subprocess import check_output, CalledProcessError
|
||||
+
|
||||
+
|
||||
+def get_system_wheels_paths(interpreter):
|
||||
+ # ensurepip wheels
|
||||
+ # We need subprocess here to check ensurepip with the Python we are creating
|
||||
+ # a new virtual environment for
|
||||
+ executable = interpreter.executable
|
||||
+ try:
|
||||
+ ensurepip_path = check_output((executable, "-u", "-c", 'import ensurepip; print(ensurepip.__path__[0])'), universal_newlines=True)
|
||||
+ ensurepip_path = Path(ensurepip_path.strip()) / "_bundled"
|
||||
+ except CalledProcessError:
|
||||
+ pass
|
||||
+ else:
|
||||
+ if ensurepip_path.is_dir():
|
||||
+ yield ensurepip_path
|
||||
+
|
||||
+ # Standard wheels path
|
||||
+ wheels_dir = Path("/usr/share/python-wheels")
|
||||
+ if wheels_dir.exists():
|
||||
+ yield wheels_dir
|
||||
--
|
||||
2.39.1
|
||||
|
1
sources
1
sources
@ -1 +0,0 @@
|
||||
SHA512 (virtualenv-20.21.1.tar.gz) = 5f5c4ce677feffe24b87ff4b3837e6f7cda6a5017eea122ac089be2066b74c7eaf452dbc0ab7723e9433716aeca13e6f85ea23d02fb28a83d76df5db0068572a
|
@ -1,60 +0,0 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/python.git"
|
||||
dest: "python"
|
||||
tests:
|
||||
- smoke27:
|
||||
dir: python/smoke
|
||||
run: VERSION=2.7 METHOD=virtualenv ./venv.sh
|
||||
- smoke35_optional:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.5 METHOD=virtualenv INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke36:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.6 METHOD=virtualenv ./venv.sh
|
||||
- smoke37:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.7 METHOD=virtualenv INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke38:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.8 METHOD=virtualenv ./venv.sh
|
||||
- smoke39:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.9 METHOD=virtualenv ./venv.sh
|
||||
- smoke39nd:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.9 METHOD=virtualenv-no-download ./venv.sh
|
||||
- smoke39sp:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.9 METHOD=virtualenv-seeder-pip ./venv.sh
|
||||
- smoke310:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.10 METHOD=virtualenv ./venv.sh
|
||||
- smoke311:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.11 METHOD=virtualenv ./venv.sh
|
||||
- smoke312:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.12 METHOD=virtualenv ./venv.sh
|
||||
- smoke_poetry:
|
||||
run: poetry new smoke && cd smoke && poetry config --local virtualenvs.options.no-pip true && poetry add pello && poetry run pello_greeting
|
||||
- rpm_qa:
|
||||
run: rpm -qa | sort
|
||||
required_packages:
|
||||
- gcc
|
||||
- virtualenv
|
||||
- poetry
|
||||
- python2.7
|
||||
- python3.6
|
||||
- python3.8
|
||||
- python3.9
|
||||
- python3.10-devel
|
||||
- python3.11-devel
|
||||
- python3.12-devel
|
||||
- tox
|
||||
- rpm
|
Loading…
Reference in New Issue
Block a user