From 34903a8f9c1a27ae5b52c947d86790e67e42cf0f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 4 Dec 2022 10:53:24 -0700 Subject: [PATCH 01/56] Update to 22.11.0 (Fixes FTBFS bz#135403) Update licensing, use SPDX Cleanup bundled provides --- 0001-Fix-toolz-imports.patch | 81 ------------- 0002-Go-back-to-ruamel_yaml.patch | 13 -- 0004-Do-not-try-to-run-usr-bin-python.patch | 14 +-- ...hell-assume-shell-plugins-are-in-etc.patch | 34 ++++-- 11632.patch | 112 ------------------ conda-32bit.patch | 13 +- conda-cpuinfo.patch | 13 ++ conda-mock.patch | 25 ---- conda.spec | 38 +++--- conda_gateways_disk_create.patch | 19 ++- conda_sys_prefix.patch | 10 +- sources | 2 +- 12 files changed, 80 insertions(+), 294 deletions(-) delete mode 100644 0001-Fix-toolz-imports.patch delete mode 100644 0002-Go-back-to-ruamel_yaml.patch delete mode 100644 11632.patch delete mode 100644 conda-mock.patch diff --git a/0001-Fix-toolz-imports.patch b/0001-Fix-toolz-imports.patch deleted file mode 100644 index e2e9e0b..0000000 --- a/0001-Fix-toolz-imports.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/conda/plan.py b/conda/plan.py -index 091ab89..855cacc 100644 ---- a/conda/plan.py -+++ b/conda/plan.py -@@ -370,7 +370,7 @@ def _plan_from_actions(actions, index): # pragma: no cover - def _inject_UNLINKLINKTRANSACTION(plan, index, prefix, axn, specs): # pragma: no cover - from os.path import isdir - from .models.dist import Dist -- from ._vendor.toolz.itertoolz import groupby -+ from ._vendor.toolz import groupby - from .instructions import LINK, PROGRESSIVEFETCHEXTRACT, UNLINK, UNLINKLINKTRANSACTION - from .core.package_cache_data import ProgressiveFetchExtract - from .core.link import PrefixSetup, UnlinkLinkTransaction -diff --git a/conda_env/env.py b/conda_env/env.py -index 27393a4..cdb16ef 100644 ---- a/conda_env/env.py -+++ b/conda_env/env.py -@@ -22,10 +22,7 @@ from conda.models.match_spec import MatchSpec - from conda.models.prefix_graph import PrefixGraph - from conda.history import History - --try: -- from cytoolz.itertoolz import concatv, groupby --except ImportError: # pragma: no cover -- from conda._vendor.toolz.itertoolz import concatv, groupby # NOQA -+from conda._vendor.toolz import concatv, groupby # NOQA - - - VALID_KEYS = ('name', 'dependencies', 'prefix', 'channels', 'variables') -diff --git a/tests/base/test_context.py b/tests/base/test_context.py -index 5d19c8d..9f4e7ac 100644 ---- a/tests/base/test_context.py -+++ b/tests/base/test_context.py -@@ -15,7 +15,7 @@ import pytest - - from conda.auxlib.collection import AttrDict - from conda.auxlib.ish import dals --from conda._vendor.toolz.itertoolz import concat -+from conda._vendor.toolz import concat - from conda.base.constants import PathConflict, ChannelPriority - from conda.base.context import ( - context, -diff --git a/tests/core/test_path_actions.py b/tests/core/test_path_actions.py -index 5c6b283..7cffdd6 100644 ---- a/tests/core/test_path_actions.py -+++ b/tests/core/test_path_actions.py -@@ -16,7 +16,7 @@ from uuid import uuid4 - import pytest - - from conda.auxlib.collection import AttrDict --from conda._vendor.toolz.itertoolz import groupby -+from conda._vendor.toolz import groupby - from conda.base.context import context - from conda.common.compat import on_win - from conda.common.path import get_bin_directory_short_path, get_python_noarch_target_path, \ -diff --git a/tests/test_activate.py b/tests/test_activate.py -index c36a9e3..6fbddec 100644 ---- a/tests/test_activate.py -+++ b/tests/test_activate.py -@@ -22,7 +22,7 @@ import pytest - from conda import __version__ as conda_version - from conda import CONDA_PACKAGE_ROOT, CONDA_SOURCE_ROOT - from conda.auxlib.ish import dals --from conda._vendor.toolz.itertoolz import concatv -+from conda._vendor.toolz import concatv - from conda.activate import ( - CmdExeActivator, - CshActivator, -diff --git a/tests/test_create.py b/tests/test_create.py -index 952d38d..7888f33 100644 ---- a/tests/test_create.py -+++ b/tests/test_create.py -@@ -8,7 +8,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera - from glob import glob - - from conda.auxlib.compat import Utf8NamedTemporaryFile --from conda._vendor.toolz.itertoolz import groupby -+from conda._vendor.toolz import groupby - from conda.gateways.disk.permissions import make_read_only - from conda.gateways.disk.create import compile_multiple_pyc - from conda.models.channel import Channel diff --git a/0002-Go-back-to-ruamel_yaml.patch b/0002-Go-back-to-ruamel_yaml.patch deleted file mode 100644 index 078a526..0000000 --- a/0002-Go-back-to-ruamel_yaml.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/setup.py b/setup.py -index 16f338f..a7419c3 100644 ---- a/setup.py -+++ b/setup.py -@@ -36,7 +36,7 @@ source. - install_requires = [ - "pycosat >=0.6.3", - "requests >=2.20.1", -- "ruamel_yaml_conda >=0.11.14", -+ "ruamel_yaml >=0.11.14", - "menuinst ; platform_system=='Windows'", - ] - diff --git a/0004-Do-not-try-to-run-usr-bin-python.patch b/0004-Do-not-try-to-run-usr-bin-python.patch index 7a055a5..e183da7 100644 --- a/0004-Do-not-try-to-run-usr-bin-python.patch +++ b/0004-Do-not-try-to-run-usr-bin-python.patch @@ -1,16 +1,16 @@ diff --git a/conda/common/path.py b/conda/common/path.py -index 510f15f..e9e3195 100644 +index 41084ec..11282f3 100644 --- a/conda/common/path.py +++ b/conda/common/path.py -@@ -6,6 +6,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera - from functools import lru_cache, reduce - from logging import getLogger - import os -+import sys +@@ -9,6 +9,7 @@ import os from os.path import abspath, basename, expanduser, expandvars, join, normcase, split, splitext import re import subprocess -@@ -155,9 +156,11 @@ def parse_entry_point_def(ep_definition): ++import sys + from typing import Iterable, Sequence + from urllib.parse import urlsplit + import warnings +@@ -166,9 +167,11 @@ def parse_entry_point_def(ep_definition): def get_python_short_path(python_version=None): if on_win: return "python.exe" diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index 790aeb6..e275fa9 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -1,32 +1,42 @@ diff --git a/conda/activate.py b/conda/activate.py -index e1b1812..567140f 100644 +index 74e0527..67b0ea3 100644 --- a/conda/activate.py +++ b/conda/activate.py -@@ -825,7 +825,7 @@ class PosixActivator(_Activator): +@@ -829,7 +829,7 @@ class PosixActivator(_Activator): self.set_var_tmpl = "%s='%s'" self.run_script_tmpl = '. "%s"' -- self.hook_source_path = join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.sh') +- self.hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "etc", "profile.d", "conda.sh") + self.hook_source_path = '/etc/profile.d/conda.sh' - super(PosixActivator, self).__init__(arguments) + super().__init__(arguments) -@@ -882,7 +882,7 @@ class CshActivator(_Activator): +@@ -883,7 +883,7 @@ class CshActivator(_Activator): self.set_var_tmpl = "set %s='%s'" self.run_script_tmpl = 'source "%s"' -- self.hook_source_path = join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.csh') +- self.hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "etc", "profile.d", "conda.csh") + self.hook_source_path = '/etc/profile.d/conda.csh' - super(CshActivator, self).__init__(arguments) + super().__init__(arguments) -@@ -993,8 +993,7 @@ class FishActivator(_Activator): +@@ -952,7 +952,7 @@ class XonshActivator(_Activator): + self.script_extension = ".sh" + self.run_script_tmpl = 'source-bash --suppress-skip-message "%s"' + +- self.hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") ++ self.hook_source_path = "/etc/profile.d/conda.xsh" + + super().__init__(arguments) + +@@ -999,9 +999,7 @@ class FishActivator(_Activator): self.set_var_tmpl = 'set -g %s "%s"' self.run_script_tmpl = 'source "%s"' -- self.hook_source_path = join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'fish', 'conf.d', -- 'conda.fish') -+ self.hook_source_path = '/etc/fish/conf.d/conda.fish' +- self.hook_source_path = join( +- CONDA_PACKAGE_ROOT, "shell", "etc", "fish", "conf.d", "conda.fish" +- ) ++ self.hook_source_path = "/etc/fish/conf.d/conda.fish" - super(FishActivator, self).__init__(arguments) + super().__init__(arguments) diff --git a/11632.patch b/11632.patch deleted file mode 100644 index 9cc23dd..0000000 --- a/11632.patch +++ /dev/null @@ -1,112 +0,0 @@ -From c4b3c8976c7eeeaf960f6116af0fbf5af7cd3b3e Mon Sep 17 00:00:00 2001 -From: Orion Poplawski -Date: Sun, 17 Jul 2022 21:05:34 -0600 -Subject: [PATCH] Use updated ruamel.yaml API - ---- - conda/common/serialize.py | 52 +++++++++++++++++++++++++-------------- - conda_env/env.py | 6 +---- - 2 files changed, 34 insertions(+), 24 deletions(-) - -diff --git a/conda/common/serialize.py b/conda/common/serialize.py -index d850ce6700..43153f1bcd 100644 ---- a/conda/common/serialize.py -+++ b/conda/common/serialize.py -@@ -20,14 +20,15 @@ def get_yaml(): - except ImportError: # pragma: no cover - try: - import ruamel.yaml as yaml -+ from ruamel.yaml.compat import StringIO - except ImportError: - raise ImportError("No yaml library available.\n" - "To proceed, conda install " - "ruamel_yaml") -- return yaml -+ return (yaml, StringIO) - - --yaml = get_yaml() -+(yaml, StringIO) = get_yaml() - - - def represent_ordereddict(dumper, data): -@@ -47,7 +48,8 @@ def represent_ordereddict(dumper, data): - - - def yaml_round_trip_load(string): -- return yaml.round_trip_load(string, version="1.2") -+ yinst = yaml.YAML(typ='rt') -+ return yinst.load(string) - - - def yaml_safe_load(string): -@@ -57,22 +59,34 @@ def yaml_safe_load(string): - {'key': 'value'} - - """ -- return yaml.safe_load(string, version="1.2") -- -- --def yaml_round_trip_dump(object): -- """dump object to string""" -- return yaml.round_trip_dump( -- object, block_seq_indent=2, default_flow_style=False, indent=2 -- ) -- -- --def yaml_safe_dump(object): -- """dump object to string""" -- return yaml.safe_dump( -- object, block_seq_indent=2, default_flow_style=False, indent=2 -- ) -- -+ yinst=yaml.YAML(typ='safe', pure=True) -+ return yinst.load(string) -+ -+ -+def yaml_round_trip_dump(object, stream=None): -+ """dump object to string or stream""" -+ yinst = yaml.YAML(typ='rt') -+ yinst.indent(mapping=2, offset=2, sequence=4) -+ inefficient = False -+ if stream is None: -+ inefficient = True -+ stream = StringIO() -+ yinst.dump(object, stream) -+ if inefficient: -+ return stream.getvalue() -+ -+def yaml_safe_dump(object, stream=None): -+ """dump object to string or stream""" -+ yinst=yaml.YAML(typ='safe', pure=True) -+ yinst.indent(mapping=2, offset=2, sequence=4) -+ yinst.default_flow_style = False -+ inefficient = False -+ if stream is None: -+ inefficient = True -+ stream = StringIO() -+ yinst.dump(object, stream) -+ if inefficient: -+ return stream.getvalue() - - def json_load(string): - return json.loads(string) -diff --git a/conda_env/env.py b/conda_env/env.py -index c494b3d855..142731ada9 100644 ---- a/conda_env/env.py -+++ b/conda_env/env.py -@@ -257,13 +257,9 @@ def to_dict(self, stream=None): - - def to_yaml(self, stream=None): - d = self.to_dict() -- out = yaml_safe_dump(d) -+ out = yaml_safe_dump(d, stream) - if stream is None: - return out -- try: -- stream.write(bytes(out, encoding="utf-8")) -- except TypeError: -- stream.write(out) - - def save(self): - with open(self.filename, "wb") as fp: diff --git a/conda-32bit.patch b/conda-32bit.patch index b40d819..1f8d710 100644 --- a/conda-32bit.patch +++ b/conda-32bit.patch @@ -1,9 +1,10 @@ -diff -up conda-4.8.4/tests/core/test_solve.py.32bit conda-4.8.4/tests/core/test_solve.py ---- conda-4.8.4/tests/core/test_solve.py.32bit 2020-08-06 15:02:52.000000000 -0600 -+++ conda-4.8.4/tests/core/test_solve.py 2020-08-07 19:12:28.240154100 -0600 -@@ -284,14 +284,14 @@ def test_cuda_fail_1(tmpdir): - if sys.platform == "darwin": - plat = "osx-64" +diff --git a/tests/core/test_solve.py b/tests/core/test_solve.py +index 81aef85..ef322a0 100644 +--- a/tests/core/test_solve.py ++++ b/tests/core/test_solve.py +@@ -187,14 +187,14 @@ def test_cuda_fail_1(tmpdir, clear_cuda_version): + else: + plat = "osx-64" elif sys.platform == "linux": - plat = "linux-64" + plat = "linux-%s" % platform.architecture()[0][0:2] diff --git a/conda-cpuinfo.patch b/conda-cpuinfo.patch index 3ba2119..88f1bee 100644 --- a/conda-cpuinfo.patch +++ b/conda-cpuinfo.patch @@ -11,3 +11,16 @@ index 74758d8..ccfb426 100644 return frozendict(get_cpu_info()) +diff --git a/tests/core/test_solve.py b/tests/core/test_solve.py +index ef322a0..0b062fa 100644 +--- a/tests/core/test_solve.py ++++ b/tests/core/test_solve.py +@@ -23,7 +23,7 @@ from conda.resolve import MatchSpec + from conda.testing.helpers import add_subdir_to_iter, get_solver, get_solver_2, get_solver_4, \ + get_solver_aggregate_1, get_solver_aggregate_2, get_solver_cuda, get_solver_must_unfreeze, \ + convert_to_dist_str, CHANNEL_DIR +-from conda._vendor.cpuinfo import get_cpu_info ++from cpuinfo import get_cpu_info + + + def test_solve_1(tmpdir): diff --git a/conda-mock.patch b/conda-mock.patch deleted file mode 100644 index 87b275f..0000000 --- a/conda-mock.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/tests/test_cli.py b/tests/test_cli.py -index eaa9b7e..dc8d027 100644 ---- a/tests/test_cli.py -+++ b/tests/test_cli.py -@@ -7,7 +7,7 @@ import unittest - import uuid - import os - import stat --from mock import patch -+from unittest.mock import patch - - import pytest - -diff -up conda-4.14.0/tests/cli/test_main_rename.py.mock conda-4.14.0/tests/cli/test_main_rename.py ---- conda-4.14.0/tests/cli/test_main_rename.py.mock 2022-08-03 15:00:36.000000000 -0600 -+++ conda-4.14.0/tests/cli/test_main_rename.py 2022-08-05 17:55:40.679594723 -0600 -@@ -4,7 +4,7 @@ - from __future__ import annotations - - import json --import mock -+from unittest import mock - import os.path - import pathlib - import tempfile diff --git a/conda.spec b/conda.spec index 846b72f..695ab31 100644 --- a/conda.spec +++ b/conda.spec @@ -1,21 +1,20 @@ %bcond_without tests Name: conda -Version: 4.14.0 +Version: 22.11.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager -License: BSD and ASL 2.0 and LGPLv2+ and MIT -# The conda code is BSD -# progressbar is LGPLv2+ -# six is MIT/X11 -# adapters/ftp.py is ASL 2.0 +License: BSD-3-Clause AND Apache-2.0 +# The conda code is BSD-3-Clause +# adapters/ftp.py is Apache-2.0 URL: http://conda.pydata.org/docs/ Source0: https://github.com/conda/conda/archive/%{version}/%{name}-%{version}.tar.gz # bash completion script moved to a separate project Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.5/conda Patch0: conda_sys_prefix.patch +# https://github.com/conda/conda/pull/12151 Patch1: conda_gateways_disk_create.patch # Do not test with conda-build Patch2: conda-conda-build.patch @@ -24,17 +23,11 @@ Patch3: conda-cpuinfo.patch # Fix tests on 32bit # https://github.com/conda/conda/pull/9759 Patch4: conda-32bit.patch -# Fix mock import -Patch5: conda-mock.patch -# Use new (0.15) ruamel-yaml API -Patch6: https://patch-diff.githubusercontent.com/raw/conda/conda/pull/11632.patch -Patch10001: 0001-Fix-toolz-imports.patch Patch10004: 0004-Do-not-try-to-run-usr-bin-python.patch Patch10005: 0005-Fix-failing-tests-in-test_api.py.patch Patch10006: 0006-shell-assume-shell-plugins-are-in-etc.patch Patch10007: 0001-Add-back-conda-and-conda_env-entry-point.patch -Patch10008: 0002-Go-back-to-ruamel_yaml.patch BuildArch: noarch @@ -92,6 +85,7 @@ BuildRequires: python%{python3_pkgversion}-cytoolz >= 0.8.2 # For tests BuildRequires: python-unversioned-command BuildRequires: python%{python3_pkgversion}-boto3 +BuildRequires: python%{python3_pkgversion}-pytest-mock BuildRequires: python%{python3_pkgversion}-pytest-rerunfailures BuildRequires: python%{python3_pkgversion}-pytest-timeout BuildRequires: python%{python3_pkgversion}-pytest-xprocess @@ -103,10 +97,8 @@ Requires: %py3_reqs Requires: python%{python3_pkgversion}-cytoolz >= 0.8.2 %endif Provides: bundled(python%{python3_pkgversion}-appdirs) = 1.2.0 -Provides: bundled(python%{python3_pkgversion}-auxlib) +Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 Provides: bundled(python%{python3_pkgversion}-boltons) = 18.0.0 -Provides: bundled(python%{python3_pkgversion}-six) = 1.10.0 -Provides: bundled(python%{python3_pkgversion}-toolz) = 0.8.2 %{?python_provide:%python_provide python%{python3_pkgversion}-conda} @@ -130,14 +122,10 @@ rm -r conda/_vendor/cpuinfo # Replaced by cytools, byte compilation fails under python3.7 %if 0%{?fedora} || 0%{?rhel} >= 8 # EPEL does not have new enough cytoolz -# We need to keep __init__.py which does the dispatch between vendored and non-vendored -rm conda/_vendor/toolz/[a-zA-Z]* +rm -r conda/_vendor/toolz %endif # Use system versions -# TODO - urllib3 - results in test failures: https://github.com/conda/conda/issues/9512 -#rm -r conda/_vendor/{distro.py,frozendict.py,tqdm,urllib3} -#find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\|tqdm\|urllib3\).*\) import/\1from \2 import/' rm -r conda/_vendor/{distro.py,frozendict,tqdm} find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\|tqdm\).*\) import/\1from \2 import/' @@ -201,23 +189,29 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_ProgressiveFetchExtract_prefers_conda_v2_format, test_subdir_data_prefers_conda_to_tar_bz2, # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. +# tests/conda_env/test_create.py::test_create_update_remote_env_file requires network access # tests/cli/test_main_{clean,rename}.py tests require network access +# tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands https://github.com/conda/conda/issues/12150 +# tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 py.test-%{python3_version} -vv -m "not integration" \ - --ignore conda/auxlib/_vendor \ --deselect=tests/test_cli.py::TestJson::test_list \ --deselect=tests/test_cli.py::test_run_returns_int \ --deselect=tests/test_cli.py::test_run_returns_nonzero_errorlevel \ --deselect=tests/test_cli.py::test_run_returns_zero_errorlevel \ --deselect=tests/test_cli.py::test_run_readonly_env \ + --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ + --deselect=tests/conda_env/test_create.py::test_create_update_remote_env_file \ --deselect=tests/cli/test_main_clean.py \ + --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ --deselect=tests/cli/test_main_rename.py \ --deselect=tests/core/test_package_cache_data.py::test_ProgressiveFetchExtract_prefers_conda_v2_format \ --deselect=tests/core/test_subdir_data.py::test_subdir_data_prefers_conda_to_tar_bz2 \ --deselect=tests/core/test_subdir_data.py::test_use_only_tar_bz2 \ --deselect=tests/core/test_initialize.py \ - --deselect=tests/core/test_solve.py::test_cuda_fail_1 + --deselect=tests/core/test_solve.py::test_cuda_fail_1 \ + conda tests %endif %files diff --git a/conda_gateways_disk_create.patch b/conda_gateways_disk_create.patch index 713698f..3ba4cf3 100644 --- a/conda_gateways_disk_create.patch +++ b/conda_gateways_disk_create.patch @@ -1,22 +1,21 @@ -diff -up conda-4.7.0/conda/gateways/disk/create.py.orig conda-4.7.0/conda/gateways/disk/create.py ---- conda-4.7.0/conda/gateways/disk/create.py.orig 2019-05-17 11:08:48.000000000 -0600 -+++ conda-4.7.0/conda/gateways/disk/create.py 2019-05-18 19:46:11.428298209 -0600 -@@ -28,7 +28,7 @@ from ...base.context import context +diff -up conda-22.11.0/conda/gateways/disk/create.py.orig conda-22.11.0/conda/gateways/disk/create.py +--- conda-22.11.0/conda/gateways/disk/create.py.orig 2022-12-03 23:09:09.024907747 -0700 ++++ conda-22.11.0/conda/gateways/disk/create.py 2022-12-04 08:57:20.200192700 -0700 +@@ -23,7 +23,7 @@ from ...base.context import context from ...common.compat import on_win from ...common.path import ensure_pad, expand, win_path_double_escape, win_path_ok from ...common.serialize import json_dump -from ...exceptions import BasicClobberError, CondaOSError, maybe_raise +from ...exceptions import BasicClobberError, CondaOSError, maybe_raise, NotWritableError - from ...models.enums import FileMode, LinkType + from ...models.enums import LinkType -@@ -438,6 +438,9 @@ def create_package_cache_directory(pkgs_ +@@ -432,7 +432,7 @@ def create_package_cache_directory(pkgs_ sudo_safe = expand(pkgs_dir).startswith(expand('~')) touch(join(pkgs_dir, PACKAGE_CACHE_MAGIC_FILE), mkdir=True, sudo_safe=sudo_safe) touch(join(pkgs_dir, 'urls'), sudo_safe=sudo_safe) -+ except NotWritableError: -+ log.trace("cannot create package cache directory '%s'", pkgs_dir) -+ return False - except (IOError, OSError) as e: +- except OSError as e: ++ except NotWritableError as e: if e.errno in (EACCES, EPERM, EROFS): log.trace("cannot create package cache directory '%s'", pkgs_dir) + return False diff --git a/conda_sys_prefix.patch b/conda_sys_prefix.patch index e2b0cdc..5bf76b7 100644 --- a/conda_sys_prefix.patch +++ b/conda_sys_prefix.patch @@ -1,13 +1,13 @@ diff --git a/conda/__init__.py b/conda/__init__.py -index 65040e6..c57a162 100644 +index 923ccde..2b64a72 100644 --- a/conda/__init__.py +++ b/conda/__init__.py -@@ -39,7 +39,7 @@ __summary__ = __doc__ +@@ -28,7 +28,7 @@ __summary__ = __doc__ __url__ = "https://github.com/conda/conda" - if os.getenv('CONDA_ROOT') is None: -- os.environ[str('CONDA_ROOT')] = sys.prefix -+ os.environ[str('CONDA_ROOT')] = '/usr/share/conda' + if os.getenv("CONDA_ROOT") is None: +- os.environ["CONDA_ROOT"] = sys.prefix ++ os.environ["CONDA_ROOT"] = '/usr/share/conda' #: The conda package directory. CONDA_PACKAGE_ROOT = abspath(dirname(__file__)) diff --git a/sources b/sources index 6d1d093..5b143d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-4.13.0.tar.gz) = be2b5ea639332ac5bb1b7d92a9af854ccc657d1a64b1eb5c31c50f5d86b954e0d454db1746771a6549e6c7111f827bcd2e6f30e77fc3b0cd10e3c96e258a3abd +SHA512 (conda-22.11.0.tar.gz) = 520a716161f2c774fc8b4bb7043acfc4b2526583bfe8b595a1d18790142adf14864500956ab288b6c581d44d16a06671c73c28fabb84f68c146fd41e9224710d From 1b65af4df7348b4cba3ca78c4c4039f3109eb232 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 4 Dec 2022 13:55:41 -0700 Subject: [PATCH 02/56] Set av_dir to /etc/conda; Do not add /usr/condabin to PATH --- 0006-shell-assume-shell-plugins-are-in-etc.patch | 12 ++++++++++++ conda.spec | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index e275fa9..d00a16e 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -40,3 +40,15 @@ index 74e0527..67b0ea3 100644 super().__init__(arguments) +diff -up conda-22.11.0/conda/base/context.py.etc conda-22.11.0/conda/base/context.py +--- conda-22.11.0/conda/base/context.py.etc 2022-12-03 23:09:08.993907458 -0700 ++++ conda-22.11.0/conda/base/context.py 2022-12-04 13:53:58.853543455 -0700 +@@ -654,7 +654,7 @@ class Context(Configuration): + """ Directory where critical data for artifact verification (e.g., + various public keys) can be found. """ + # TODO (AV): Find ways to make this user configurable? +- return join(self.conda_prefix, 'etc', 'conda') ++ return '/etc/conda' + + @property + def signing_metadata_url_base(self): diff --git a/conda.spec b/conda.spec index 695ab31..832dc32 100644 --- a/conda.spec +++ b/conda.spec @@ -162,7 +162,8 @@ mkdir -p %{buildroot}%{_localstatedir}/cache/conda/pkgs/cache # install does not create the directory on EL7 install -m 0644 -Dt %{buildroot}/etc/profile.d/ conda/shell/etc/profile.d/conda.{sh,csh} -sed -r -i '1i CONDA_EXE=%{_bindir}/conda' %{buildroot}/etc/profile.d/conda.sh +sed -r -i -e '1i [ -z "$CONDA_EXE" ] && CONDA_EXE=%{_bindir}/conda' \ + -e '/PATH=.*condabin/s|PATH=|[ -d "$(dirname "$CONDA_EXE")/condabin" ] && PATH=|' %{buildroot}/etc/profile.d/conda.sh sed -r -i -e '1i set _CONDA_EXE=%{_bindir}/conda\nset _CONDA_ROOT=' \ -e 's/CONDA_PFX=.*/CONDA_PFX=/' %{buildroot}/etc/profile.d/conda.csh install -m 0644 -Dt %{buildroot}/etc/fish/conf.d/ conda/shell/etc/fish/conf.d/conda.fish From cc586cc6eb238fee33d0284c65eb62d7ec6580d4 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 5 Dec 2022 07:54:28 -0700 Subject: [PATCH 03/56] test_notices_appear_once_when_running_decorated_commands fails due to a fixture that we remove --- conda.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda.spec b/conda.spec index 832dc32..e2c7663 100644 --- a/conda.spec +++ b/conda.spec @@ -192,7 +192,7 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # them for now. # tests/conda_env/test_create.py::test_create_update_remote_env_file requires network access # tests/cli/test_main_{clean,rename}.py tests require network access -# tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands https://github.com/conda/conda/issues/12150 +# tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 From 026f7b9c2f69bee1dcd6c99a22f2e0b79ad40764 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 7 Dec 2022 21:51:11 -0700 Subject: [PATCH 04/56] Update to 22.11.1 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index e2c7663..95b2a45 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 22.11.0 +Version: 22.11.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 5b143d9..e3f3da9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-22.11.0.tar.gz) = 520a716161f2c774fc8b4bb7043acfc4b2526583bfe8b595a1d18790142adf14864500956ab288b6c581d44d16a06671c73c28fabb84f68c146fd41e9224710d +SHA512 (conda-22.11.1.tar.gz) = 2bc851251fa789a4b30825c91a42c479e9703b9ad92ad70a4e6f81eeb2fb2544113ac2564d2af3cb0cd599fe75eb620db3ef107122f5fc4184ed1534dc0d679b From a3e9a773e8b8882c5f28f95196f3311120987963 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 15 Dec 2022 20:27:16 -0700 Subject: [PATCH 05/56] Fix /etc/profile.d/conda.sh --- conda.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda.spec b/conda.spec index 95b2a45..2524bda 100644 --- a/conda.spec +++ b/conda.spec @@ -163,7 +163,7 @@ mkdir -p %{buildroot}%{_localstatedir}/cache/conda/pkgs/cache # install does not create the directory on EL7 install -m 0644 -Dt %{buildroot}/etc/profile.d/ conda/shell/etc/profile.d/conda.{sh,csh} sed -r -i -e '1i [ -z "$CONDA_EXE" ] && CONDA_EXE=%{_bindir}/conda' \ - -e '/PATH=.*condabin/s|PATH=|[ -d "$(dirname "$CONDA_EXE")/condabin" ] && PATH=|' %{buildroot}/etc/profile.d/conda.sh + -e '/PATH=.*condabin/s|PATH=|[ -d $(dirname "$CONDA_EXE")/condabin ] \&\& PATH=|' %{buildroot}/etc/profile.d/conda.sh sed -r -i -e '1i set _CONDA_EXE=%{_bindir}/conda\nset _CONDA_ROOT=' \ -e 's/CONDA_PFX=.*/CONDA_PFX=/' %{buildroot}/etc/profile.d/conda.csh install -m 0644 -Dt %{buildroot}/etc/fish/conf.d/ conda/shell/etc/fish/conf.d/conda.fish From 66f60a75eda52312f0a472470e26ff0c7fcdd497 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 00:24:13 +0000 Subject: [PATCH 06/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering From a56955c152550e5635d6dcf58097fb81b4269f53 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 21 Jan 2023 21:05:38 -0700 Subject: [PATCH 07/56] Update to 23.1.0 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 2524bda..d5b7751 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 22.11.1 +Version: 23.1.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index e3f3da9..60194c5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-22.11.1.tar.gz) = 2bc851251fa789a4b30825c91a42c479e9703b9ad92ad70a4e6f81eeb2fb2544113ac2564d2af3cb0cd599fe75eb620db3ef107122f5fc4184ed1534dc0d679b +SHA512 (conda-23.1.0.tar.gz) = 43a9786efbee9d1de9f7b19b852a34d6bf120e3e93adf13ac67094b0f53b608fc52fd7d98c478af5e8d679d62bdd7acd339b07f0344b15507554c98eea86caff From 2c30bc93191606b0a2af095892c02d4f10cbed71 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 21 Jan 2023 22:01:37 -0700 Subject: [PATCH 08/56] Add requirement on pluggy >= 1.0.0 --- conda.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/conda.spec b/conda.spec index d5b7751..ab70e7d 100644 --- a/conda.spec +++ b/conda.spec @@ -61,6 +61,7 @@ can only use conda to create and manage new environments.} python%{python3_pkgversion}-conda-package-handling >= 1.3.0 \ python%{python3_pkgversion}-distro >= 1.0.4 \ python%{python3_pkgversion}-frozendict >= 1.2 \ + python%{python3_pkgversion}-pluggy >= 1.0.0 \ python%{python3_pkgversion}-pycosat >= 0.6.3 \ python%{python3_pkgversion}-pyOpenSSL >= 16.2.0 \ python%{python3_pkgversion}-pyyaml \ From 786a81216cda815e08c3f257313d24deec45b430 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 21 Jan 2023 22:35:03 -0700 Subject: [PATCH 09/56] Exclude more tests --- conda.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/conda.spec b/conda.spec index 846b72f..473fd67 100644 --- a/conda.spec +++ b/conda.spec @@ -191,6 +191,8 @@ export PATH=%{buildroot}%{_bindir}:$PATH PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # Integration tests generally require network, so skip them. +# Also: +# test_cli.py::test_run_uncaptured # TestJson.test_list does not recognize /usr as a conda environment # These fail on koji with PackageNotFound errors likely due to network issues @@ -204,6 +206,8 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/cli/test_main_{clean,rename}.py tests require network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 + +# tests/core/test_subdir_data.py::test_no_ssl requires mocker fixture not in EL9 py.test-%{python3_version} -vv -m "not integration" \ --ignore conda/auxlib/_vendor \ --deselect=tests/test_cli.py::TestJson::test_list \ @@ -211,13 +215,15 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_cli.py::test_run_returns_nonzero_errorlevel \ --deselect=tests/test_cli.py::test_run_returns_zero_errorlevel \ --deselect=tests/test_cli.py::test_run_readonly_env \ + --deselect=tests/test_cli.py::test_run_uncaptured \ --deselect=tests/cli/test_main_clean.py \ --deselect=tests/cli/test_main_rename.py \ --deselect=tests/core/test_package_cache_data.py::test_ProgressiveFetchExtract_prefers_conda_v2_format \ --deselect=tests/core/test_subdir_data.py::test_subdir_data_prefers_conda_to_tar_bz2 \ --deselect=tests/core/test_subdir_data.py::test_use_only_tar_bz2 \ --deselect=tests/core/test_initialize.py \ - --deselect=tests/core/test_solve.py::test_cuda_fail_1 + --deselect=tests/core/test_solve.py::test_cuda_fail_1 \ + --deselect=tests/core/test_subdir_data.py::test_no_ssl %endif %files From ce107a3648234853c349bbd8ed4f470d688575cb Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 21 Jan 2023 22:45:31 -0700 Subject: [PATCH 10/56] Upload source --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 6d1d093..fe2e68b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-4.13.0.tar.gz) = be2b5ea639332ac5bb1b7d92a9af854ccc657d1a64b1eb5c31c50f5d86b954e0d454db1746771a6549e6c7111f827bcd2e6f30e77fc3b0cd10e3c96e258a3abd +SHA512 (conda-4.14.0.tar.gz) = 4070e7670b3adde45e30a5f1194f0e99a76be465bf6ee54f340c142f7dcb090b091a97aa58cd02210f3194137602d3b29670f69083dda6e276ea5d08bf5a22cf From d3264fcda58ec62aca1e58bea7fd55921530fd19 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 16 Mar 2023 19:24:12 -0600 Subject: [PATCH 11/56] Update to 23.3.0 --- 0004-Do-not-try-to-run-usr-bin-python.patch | 6 +++--- conda.spec | 6 ++++-- sources | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/0004-Do-not-try-to-run-usr-bin-python.patch b/0004-Do-not-try-to-run-usr-bin-python.patch index e183da7..03616cc 100644 --- a/0004-Do-not-try-to-run-usr-bin-python.patch +++ b/0004-Do-not-try-to-run-usr-bin-python.patch @@ -1,5 +1,5 @@ diff --git a/conda/common/path.py b/conda/common/path.py -index 41084ec..11282f3 100644 +index ae8fe27..c011308 100644 --- a/conda/common/path.py +++ b/conda/common/path.py @@ -9,6 +9,7 @@ import os @@ -9,8 +9,8 @@ index 41084ec..11282f3 100644 +import sys from typing import Iterable, Sequence from urllib.parse import urlsplit - import warnings -@@ -166,9 +167,11 @@ def parse_entry_point_def(ep_definition): + +@@ -161,9 +162,11 @@ def parse_entry_point_def(ep_definition): def get_python_short_path(python_version=None): if on_win: return "python.exe" diff --git a/conda.spec b/conda.spec index ab70e7d..7aec427 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.1.0 +Version: 23.3.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -86,6 +86,7 @@ BuildRequires: python%{python3_pkgversion}-cytoolz >= 0.8.2 # For tests BuildRequires: python-unversioned-command BuildRequires: python%{python3_pkgversion}-boto3 +BuildRequires: python%{python3_pkgversion}-jsonpatch BuildRequires: python%{python3_pkgversion}-pytest-mock BuildRequires: python%{python3_pkgversion}-pytest-rerunfailures BuildRequires: python%{python3_pkgversion}-pytest-timeout @@ -107,8 +108,9 @@ Provides: bundled(python%{python3_pkgversion}-boltons) = 18.0.0 %prep %autosetup -p1 +# Create version file +echo %{version} > conda/.version -sed -r -i 's/^(__version__ = ).*/\1"%{version}"/' conda/__init__.py # xdoctest not packaged sed -i -e '/xdoctest/d' setup.cfg diff --git a/sources b/sources index 60194c5..5b4c3e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.1.0.tar.gz) = 43a9786efbee9d1de9f7b19b852a34d6bf120e3e93adf13ac67094b0f53b608fc52fd7d98c478af5e8d679d62bdd7acd339b07f0344b15507554c98eea86caff +SHA512 (conda-23.3.0.tar.gz) = 9c05a301c53cd246baa520411ec01f02f7556978910e7457c61cd0a876f6d411278f710bb677d4e665cdf245cc90e104f11b5826cfbb6401d2d1bf8f7ca0bbca From 51a2a1966d41cea567a4144742f611769698eb58 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 16 Mar 2023 19:45:38 -0600 Subject: [PATCH 12/56] Add BR on python flask --- conda.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/conda.spec b/conda.spec index 7aec427..c6230aa 100644 --- a/conda.spec +++ b/conda.spec @@ -86,6 +86,7 @@ BuildRequires: python%{python3_pkgversion}-cytoolz >= 0.8.2 # For tests BuildRequires: python-unversioned-command BuildRequires: python%{python3_pkgversion}-boto3 +BuildRequires: python%{python3_pkgversion}-flask BuildRequires: python%{python3_pkgversion}-jsonpatch BuildRequires: python%{python3_pkgversion}-pytest-mock BuildRequires: python%{python3_pkgversion}-pytest-rerunfailures From 0c6ca773a849e359a0bf09fe826bae9a51b81329 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 5 Apr 2023 20:12:38 -0600 Subject: [PATCH 13/56] Update to 23.3.1 --- conda.spec | 3 ++- sources | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index c6230aa..d39a394 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.3.0 +Version: 23.3.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -207,6 +207,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_cli.py::test_run_returns_zero_errorlevel \ --deselect=tests/test_cli.py::test_run_readonly_env \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ + --ignore=tests/conda_env/specs/test_binstar.py \ --deselect=tests/conda_env/test_create.py::test_create_update_remote_env_file \ --deselect=tests/cli/test_main_clean.py \ --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ diff --git a/sources b/sources index 5b4c3e4..2f6cbcb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.3.0.tar.gz) = 9c05a301c53cd246baa520411ec01f02f7556978910e7457c61cd0a876f6d411278f710bb677d4e665cdf245cc90e104f11b5826cfbb6401d2d1bf8f7ca0bbca +SHA512 (conda-23.3.1.tar.gz) = d09807cd184d4799dee2819528388f35ce19ac7ae78d4c8cc0df0e150c78d5a49f37a7afcb1dffd6c00fdf421c2937828ae275770359ad7e0413baa2eeffde6e From 8a2e41454d9b36cafb75c0340d01af3d037e76d9 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 4 Jul 2023 12:25:56 +0200 Subject: [PATCH 14/56] Rebuilt for Python 3.12 From f443f948ad07ab7f9cb0ff7ff7c6ccbc50cf91e9 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 18 Jul 2023 08:40:47 -0600 Subject: [PATCH 15/56] Update to 23.5.2 --- 0004-Do-not-try-to-run-usr-bin-python.patch | 20 ++-- 0005-Fix-failing-tests-in-test_api.py.patch | 30 ++---- ...hell-assume-shell-plugins-are-in-etc.patch | 94 +++++++++++-------- conda-32bit.patch | 8 +- conda-cpuinfo.patch | 22 ++--- conda.spec | 47 ++++++---- conda_gateways_disk_create.patch | 21 ----- sources | 2 +- 8 files changed, 118 insertions(+), 126 deletions(-) delete mode 100644 conda_gateways_disk_create.patch diff --git a/0004-Do-not-try-to-run-usr-bin-python.patch b/0004-Do-not-try-to-run-usr-bin-python.patch index 03616cc..197eb23 100644 --- a/0004-Do-not-try-to-run-usr-bin-python.patch +++ b/0004-Do-not-try-to-run-usr-bin-python.patch @@ -1,25 +1,25 @@ diff --git a/conda/common/path.py b/conda/common/path.py -index ae8fe27..c011308 100644 +index 32ed396..76bc20a 100644 --- a/conda/common/path.py +++ b/conda/common/path.py -@@ -9,6 +9,7 @@ import os - from os.path import abspath, basename, expanduser, expandvars, join, normcase, split, splitext +@@ -5,6 +5,7 @@ from __future__ import annotations + import os import re import subprocess +import sys - from typing import Iterable, Sequence - from urllib.parse import urlsplit - -@@ -161,9 +162,11 @@ def parse_entry_point_def(ep_definition): + from functools import lru_cache, reduce + from itertools import accumulate, chain + from logging import getLogger +@@ -175,9 +176,11 @@ def parse_entry_point_def(ep_definition): def get_python_short_path(python_version=None): if on_win: return "python.exe" -- if python_version and '.' not in python_version: +- if python_version and "." not in python_version: + if not python_version: + return sys.executable + if '.' not in python_version: - python_version = '.'.join(python_version) -- return join("bin", "python%s" % (python_version or '')) + python_version = ".".join(python_version) +- return join("bin", "python%s" % (python_version or "")) + return join("bin", "python" + python_version) diff --git a/0005-Fix-failing-tests-in-test_api.py.patch b/0005-Fix-failing-tests-in-test_api.py.patch index 7434f7b..b5e2f95 100644 --- a/0005-Fix-failing-tests-in-test_api.py.patch +++ b/0005-Fix-failing-tests-in-test_api.py.patch @@ -1,21 +1,5 @@ -From 4bc8b4ec9579e7c015a6ad5b41031c850596e0fb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 21 Sep 2018 10:23:39 +0200 -Subject: [PATCH] Fix failing tests in test_api.py -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Based on commit 0722e2edc93ae818bddd18f23be5b18c3a2a1d55 by -Kale Franz . - -Signed-off-by: Zbigniew Jędrzejewski-Szmek ---- - tests/test_api.py | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - diff --git a/tests/test_api.py b/tests/test_api.py -index 3ca97be734..e866e82fd3 100644 +index dd6a7b9..c60d1a1 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -224,7 +224,7 @@ def test_PackageCacheData_return_value_contract(): @@ -27,7 +11,7 @@ index 3ca97be734..e866e82fd3 100644 first_writable_result = PackageCacheData.first_writable() assert isinstance(first_writable_result, PackageCacheData) -@@ -269,20 +269,21 @@ def test_PrefixData_contract(): +@@ -265,13 +265,14 @@ def test_PrefixData_contract(): def test_PrefixData_return_value_contract(): pd = PrefixData(context.conda_prefix) @@ -39,16 +23,17 @@ index 3ca97be734..e866e82fd3 100644 + get_result = pd.get(PackageRecord.from_objects(single_prefix_rec)) + assert isinstance(get_result, PrefixRecord) -- query_result = pd.query('openssl') +- query_result = pd.query("openssl") - assert isinstance(query_result, tuple) - assert all(isinstance(prefix_rec, PrefixRecord) for prefix_rec in query_result) -+ query_result = pd.query('openssl') ++ query_result = pd.query("openssl") + assert isinstance(query_result, tuple) + assert all(isinstance(prefix_rec, PrefixRecord) for prefix_rec in query_result) iter_records_result = pd.iter_records() assert isiterable(iter_records_result) - assert all(isinstance(prefix_rec, PrefixRecord) for prefix_rec in iter_records_result) +@@ -280,7 +281,7 @@ def test_PrefixData_return_value_contract(): + ) is_writable_result = pd.is_writable - assert is_writable_result is True or is_writable_result is False @@ -56,6 +41,3 @@ index 3ca97be734..e866e82fd3 100644 reload_result = pd.reload() assert isinstance(reload_result, PrefixData) --- -2.19.2 - diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index d00a16e..6ba7fbe 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -1,53 +1,71 @@ diff --git a/conda/activate.py b/conda/activate.py -index 74e0527..67b0ea3 100644 +index 2eccc5f..bba1adb 100644 --- a/conda/activate.py +++ b/conda/activate.py -@@ -829,7 +829,7 @@ class PosixActivator(_Activator): - self.set_var_tmpl = "%s='%s'" - self.run_script_tmpl = '. "%s"' +@@ -908,13 +908,7 @@ class PosixActivator(_Activator): + set_var_tmpl = "%s='%s'" + run_script_tmpl = '. "%s"' -- self.hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "etc", "profile.d", "conda.sh") -+ self.hook_source_path = '/etc/profile.d/conda.sh' +- hook_source_path = join( +- CONDA_PACKAGE_ROOT, +- "shell", +- "etc", +- "profile.d", +- "conda.sh", +- ) ++ hook_source_path = '/etc/profile.d/conda.sh' - super().__init__(arguments) + def _update_prompt(self, set_vars, conda_prompt_modifier): + ps1 = self.environ.get("PS1", "") +@@ -961,13 +955,7 @@ class CshActivator(_Activator): + set_var_tmpl = "set %s='%s'" + run_script_tmpl = 'source "%s"' -@@ -883,7 +883,7 @@ class CshActivator(_Activator): - self.set_var_tmpl = "set %s='%s'" - self.run_script_tmpl = 'source "%s"' +- hook_source_path = join( +- CONDA_PACKAGE_ROOT, +- "shell", +- "etc", +- "profile.d", +- "conda.csh", +- ) ++ hook_source_path = '/etc/profile.d/conda.csh' -- self.hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "etc", "profile.d", "conda.csh") -+ self.hook_source_path = '/etc/profile.d/conda.csh' + def _update_prompt(self, set_vars, conda_prompt_modifier): + prompt = self.environ.get("prompt", "") +@@ -1023,7 +1011,7 @@ class XonshActivator(_Activator): + else 'source-bash --suppress-skip-message "%s"' + ) - super().__init__(arguments) +- hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") ++ hook_source_path = "/etc/profile.d/conda.xsh" -@@ -952,7 +952,7 @@ class XonshActivator(_Activator): - self.script_extension = ".sh" - self.run_script_tmpl = 'source-bash --suppress-skip-message "%s"' + def _hook_preamble(self) -> str: + return '$CONDA_EXE = "%s"' % self.path_conversion(context.conda_exe) +@@ -1064,14 +1052,7 @@ class FishActivator(_Activator): + set_var_tmpl = 'set -g %s "%s"' + run_script_tmpl = 'source "%s"' -- self.hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") -+ self.hook_source_path = "/etc/profile.d/conda.xsh" +- hook_source_path = join( +- CONDA_PACKAGE_ROOT, +- "shell", +- "etc", +- "fish", +- "conf.d", +- "conda.fish", +- ) ++ hook_source_path = "/etc/fish/conf.d/conda.fish" - super().__init__(arguments) - -@@ -999,9 +999,7 @@ class FishActivator(_Activator): - self.set_var_tmpl = 'set -g %s "%s"' - self.run_script_tmpl = 'source "%s"' - -- self.hook_source_path = join( -- CONDA_PACKAGE_ROOT, "shell", "etc", "fish", "conf.d", "conda.fish" -- ) -+ self.hook_source_path = "/etc/fish/conf.d/conda.fish" - - super().__init__(arguments) - -diff -up conda-22.11.0/conda/base/context.py.etc conda-22.11.0/conda/base/context.py ---- conda-22.11.0/conda/base/context.py.etc 2022-12-03 23:09:08.993907458 -0700 -+++ conda-22.11.0/conda/base/context.py 2022-12-04 13:53:58.853543455 -0700 -@@ -654,7 +654,7 @@ class Context(Configuration): - """ Directory where critical data for artifact verification (e.g., - various public keys) can be found. """ + def _hook_preamble(self) -> str: + if on_win: +diff --git a/conda/base/context.py b/conda/base/context.py +index 8b78e69..01f1412 100644 +--- a/conda/base/context.py ++++ b/conda/base/context.py +@@ -753,7 +753,7 @@ class Context(Configuration): + def av_data_dir(self): + """Where critical artifact verification data (e.g., various public keys) can be found.""" # TODO (AV): Find ways to make this user configurable? -- return join(self.conda_prefix, 'etc', 'conda') +- return join(self.conda_prefix, "etc", "conda") + return '/etc/conda' @property diff --git a/conda-32bit.patch b/conda-32bit.patch index 1f8d710..19fa4d3 100644 --- a/conda-32bit.patch +++ b/conda-32bit.patch @@ -1,8 +1,8 @@ diff --git a/tests/core/test_solve.py b/tests/core/test_solve.py -index 81aef85..ef322a0 100644 +index 71812ca..778bbb4 100644 --- a/tests/core/test_solve.py +++ b/tests/core/test_solve.py -@@ -187,14 +187,14 @@ def test_cuda_fail_1(tmpdir, clear_cuda_version): +@@ -224,14 +224,14 @@ def test_cuda_fail_1(tmpdir, clear_cuda_version): else: plat = "osx-64" elif sys.platform == "linux": @@ -17,5 +17,5 @@ index 81aef85..ef322a0 100644 - plat = "linux-64" + plat = "linux-%s" % platform.architecture()[0][0:2] - assert str(exc.value).strip() == dals("""The following specifications were found to be incompatible with your system: - + assert str(exc.value).strip() == dals( + """The following specifications were found to be incompatible with your system: diff --git a/conda-cpuinfo.patch b/conda-cpuinfo.patch index 88f1bee..d395727 100644 --- a/conda-cpuinfo.patch +++ b/conda-cpuinfo.patch @@ -1,26 +1,26 @@ diff --git a/conda/base/context.py b/conda/base/context.py -index 74758d8..ccfb426 100644 +index dbeac32..8b78e69 100644 --- a/conda/base/context.py +++ b/conda/base/context.py -@@ -1698,7 +1698,7 @@ conda_tests_ctxt_mgmt_def_pol = replace_context_default +@@ -1864,7 +1864,7 @@ conda_tests_ctxt_mgmt_def_pol = replace_context_default @lru_cache(maxsize=None) def _get_cpu_info(): # DANGER: This is rather slow - from .._vendor.cpuinfo import get_cpu_info + from cpuinfo import get_cpu_info + return frozendict(get_cpu_info()) - diff --git a/tests/core/test_solve.py b/tests/core/test_solve.py -index ef322a0..0b062fa 100644 +index efb839a..71812ca 100644 --- a/tests/core/test_solve.py +++ b/tests/core/test_solve.py -@@ -23,7 +23,7 @@ from conda.resolve import MatchSpec - from conda.testing.helpers import add_subdir_to_iter, get_solver, get_solver_2, get_solver_4, \ - get_solver_aggregate_1, get_solver_aggregate_2, get_solver_cuda, get_solver_must_unfreeze, \ - convert_to_dist_str, CHANNEL_DIR +@@ -8,7 +8,7 @@ from unittest.mock import Mock + + import pytest + -from conda._vendor.cpuinfo import get_cpu_info +from cpuinfo import get_cpu_info - - - def test_solve_1(tmpdir): + from conda.auxlib.ish import dals + from conda.base.context import conda_tests_ctxt_mgmt_def_pol, context + from conda.common.compat import on_linux diff --git a/conda.spec b/conda.spec index d39a394..92e43e0 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.3.1 +Version: 23.5.2 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -14,8 +14,6 @@ Source0: https://github.com/conda/conda/archive/%{version}/%{name}-%{vers # bash completion script moved to a separate project Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.5/conda Patch0: conda_sys_prefix.patch -# https://github.com/conda/conda/pull/12151 -Patch1: conda_gateways_disk_create.patch # Do not test with conda-build Patch2: conda-conda-build.patch # Use system cpuinfo @@ -27,7 +25,6 @@ Patch4: conda-32bit.patch Patch10004: 0004-Do-not-try-to-run-usr-bin-python.patch Patch10005: 0005-Fix-failing-tests-in-test_api.py.patch Patch10006: 0006-shell-assume-shell-plugins-are-in-etc.patch -Patch10007: 0001-Add-back-conda-and-conda_env-entry-point.patch BuildArch: noarch @@ -76,7 +73,6 @@ can only use conda to create and manage new environments.} Summary: %{summary} BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: %py3_reqs # When this is present, vendored toolz should not be used %if 0%{?fedora} || 0%{?rhel} >= 8 @@ -99,9 +95,10 @@ Requires: %py3_reqs # EPEL does not have new enough cytoolz Requires: python%{python3_pkgversion}-cytoolz >= 0.8.2 %endif +# Some versions in conda/_vendor/vendor.txt Provides: bundled(python%{python3_pkgversion}-appdirs) = 1.2.0 Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 -Provides: bundled(python%{python3_pkgversion}-boltons) = 18.0.0 +Provides: bundled(python%{python3_pkgversion}-boltons) = 21.0.0 %{?python_provide:%python_provide python%{python3_pkgversion}-conda} @@ -133,6 +130,9 @@ rm -r conda/_vendor/toolz rm -r conda/_vendor/{distro.py,frozendict,tqdm} find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\|tqdm\).*\) import/\1from \2 import/' +# Unpackaged - use vendored version +sed -i -e '/"boltons *>/d' pyproject.toml + %ifnarch x86_64 # Tests on 32-bit cp -a tests/data/conda_format_repo/linux-{64,32} @@ -145,14 +145,17 @@ sed -i -e s/linux-64/%{python3_platform}/ tests/data/conda_format_repo/%{python3 # do not run coverage in pytest sed -i -E '/--(no-)?cov/d' setup.cfg +%generate_buildrequires +%pyproject_buildrequires %build -# build conda executable -%py3_build +%pyproject_wheel %install -# install conda executable -%py3_install +%pyproject_install +%py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda +rm -r %{buildroot}%{python3_sitelib}/tests +%pyproject_save_files conda conda_env mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d mkdir -p %{buildroot}%{_datadir}/conda/condarc.d @@ -195,11 +198,13 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. # tests/conda_env/test_create.py::test_create_update_remote_env_file requires network access -# tests/cli/test_main_{clean,rename}.py tests require network access +# tests/cli/test_main_{clean,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove +# tests/cli/test_subcommands.py tests require network access # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 +# tests/trust/test_signature_verification.py requires conda_content_trust - not yet packaged py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_cli.py::TestJson::test_list \ --deselect=tests/test_cli.py::test_run_returns_int \ @@ -210,20 +215,32 @@ py.test-%{python3_version} -vv -m "not integration" \ --ignore=tests/conda_env/specs/test_binstar.py \ --deselect=tests/conda_env/test_create.py::test_create_update_remote_env_file \ --deselect=tests/cli/test_main_clean.py \ + --deselect=tests/cli/test_main_list.py::test_list \ + --deselect=tests/cli/test_main_list.py::test_list_reverse \ --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ --deselect=tests/cli/test_main_rename.py \ + --deselect=tests/cli/test_subcommands.py::test_env_create \ + --deselect=tests/cli/test_subcommands.py::test_env_update \ + --deselect=tests/cli/test_subcommands.py::test_init \ + --deselect=tests/cli/test_subcommands.py::test_install \ + --deselect=tests/cli/test_subcommands.py::test_list \ + --deselect=tests/cli/test_subcommands.py::test_run \ + --deselect=tests/cli/test_subcommands.py::test_search \ + --deselect=tests/cli/test_subcommands.py::test_update[update] \ + --deselect=tests/cli/test_subcommands.py::test_update[upgrade] \ --deselect=tests/core/test_package_cache_data.py::test_ProgressiveFetchExtract_prefers_conda_v2_format \ --deselect=tests/core/test_subdir_data.py::test_subdir_data_prefers_conda_to_tar_bz2 \ --deselect=tests/core/test_subdir_data.py::test_use_only_tar_bz2 \ --deselect=tests/core/test_initialize.py \ --deselect=tests/core/test_solve.py::test_cuda_fail_1 \ + --deselect=tests/gateways/test_jlap.py::test_download_and_hash \ + --ignore=tests/trust \ conda tests %endif %files %{_sysconfdir}/conda/ %{_bindir}/conda -%{_bindir}/conda-env %{bash_completionsdir}/conda # TODO - better ownership/requires for fish %dir /etc/fish @@ -232,12 +249,8 @@ py.test-%{python3_version} -vv -m "not integration" \ /etc/profile.d/conda.sh /etc/profile.d/conda.csh -%files -n python%{python3_pkgversion}-conda -%license LICENSE.txt +%files -n python%{python3_pkgversion}-conda -f %pyproject_files %doc CHANGELOG.md README.md -%{python3_sitelib}/conda/ -%{python3_sitelib}/conda_env/ -%{python3_sitelib}/*.egg-info %{_localstatedir}/cache/conda/ %{_datadir}/conda/ diff --git a/conda_gateways_disk_create.patch b/conda_gateways_disk_create.patch deleted file mode 100644 index 3ba4cf3..0000000 --- a/conda_gateways_disk_create.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up conda-22.11.0/conda/gateways/disk/create.py.orig conda-22.11.0/conda/gateways/disk/create.py ---- conda-22.11.0/conda/gateways/disk/create.py.orig 2022-12-03 23:09:09.024907747 -0700 -+++ conda-22.11.0/conda/gateways/disk/create.py 2022-12-04 08:57:20.200192700 -0700 -@@ -23,7 +23,7 @@ from ...base.context import context - from ...common.compat import on_win - from ...common.path import ensure_pad, expand, win_path_double_escape, win_path_ok - from ...common.serialize import json_dump --from ...exceptions import BasicClobberError, CondaOSError, maybe_raise -+from ...exceptions import BasicClobberError, CondaOSError, maybe_raise, NotWritableError - from ...models.enums import LinkType - - -@@ -432,7 +432,7 @@ def create_package_cache_directory(pkgs_ - sudo_safe = expand(pkgs_dir).startswith(expand('~')) - touch(join(pkgs_dir, PACKAGE_CACHE_MAGIC_FILE), mkdir=True, sudo_safe=sudo_safe) - touch(join(pkgs_dir, 'urls'), sudo_safe=sudo_safe) -- except OSError as e: -+ except NotWritableError as e: - if e.errno in (EACCES, EPERM, EROFS): - log.trace("cannot create package cache directory '%s'", pkgs_dir) - return False diff --git a/sources b/sources index 2f6cbcb..b421cbc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.3.1.tar.gz) = d09807cd184d4799dee2819528388f35ce19ac7ae78d4c8cc0df0e150c78d5a49f37a7afcb1dffd6c00fdf421c2937828ae275770359ad7e0413baa2eeffde6e +SHA512 (conda-23.5.2.tar.gz) = 05e6a36f11dde4518924ed7703d1807dc177fd868da1450da698857bfec35d160461e214459b8b95d578f88f28066b1684b67638347c1e5a1ef8cae5eae53294 From 07ddfb5c2974b5ffb91236b79505c9a205292740 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 16:15:51 +0000 Subject: [PATCH 16/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering From b39e038d74248e547ca7ccd1fa4baa3290c18587 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 30 Jul 2023 16:18:49 -0600 Subject: [PATCH 17/56] Update to 23.7.2 --- conda-conda-build.patch | 29 ----------------------------- conda.spec | 10 ++++++---- sources | 2 +- 3 files changed, 7 insertions(+), 34 deletions(-) delete mode 100644 conda-conda-build.patch diff --git a/conda-conda-build.patch b/conda-conda-build.patch deleted file mode 100644 index 75ddbcd..0000000 --- a/conda-conda-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/tests/conftest.py b/tests/conftest.py -index 0f91d86..9e0a3c3 100644 ---- a/tests/conftest.py -+++ b/tests/conftest.py -@@ -14,24 +14,6 @@ pytest_plugins = ( - ) - - --def _conda_build_recipe(recipe): -- subprocess.run( -- ["conda-build", str(Path(__file__).resolve().parent / "test-recipes" / recipe)], -- check=True, -- ) -- return recipe -- -- --@pytest.fixture(scope="session") --def activate_deactivate_package(): -- return _conda_build_recipe("activate_deactivate_package") -- -- --@pytest.fixture(scope="session") --def pre_link_messages_package(): -- return _conda_build_recipe("pre_link_messages_package") -- -- - @pytest.fixture - def clear_cache(): - from conda.core.subdir_data import SubdirData diff --git a/conda.spec b/conda.spec index 92e43e0..c83056d 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.5.2 +Version: 23.7.2 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -14,8 +14,6 @@ Source0: https://github.com/conda/conda/archive/%{version}/%{name}-%{vers # bash completion script moved to a separate project Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.5/conda Patch0: conda_sys_prefix.patch -# Do not test with conda-build -Patch2: conda-conda-build.patch # Use system cpuinfo Patch3: conda-cpuinfo.patch # Fix tests on 32bit @@ -198,8 +196,9 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. # tests/conda_env/test_create.py::test_create_update_remote_env_file requires network access -# tests/cli/test_main_{clean,list,list_reverse,rename}.py tests require network access +# tests/cli/test_main_{clean,info,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove +# tests/cli/test_main_run.py require /usr/bin/conda to be installed # tests/cli/test_subcommands.py tests require network access # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate @@ -214,11 +213,14 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ --ignore=tests/conda_env/specs/test_binstar.py \ --deselect=tests/conda_env/test_create.py::test_create_update_remote_env_file \ + --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ --deselect=tests/cli/test_main_clean.py \ + --deselect=tests/cli/test_main_info.py::test_info_conda_json \ --deselect=tests/cli/test_main_list.py::test_list \ --deselect=tests/cli/test_main_list.py::test_list_reverse \ --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ --deselect=tests/cli/test_main_rename.py \ + --deselect=tests/cli/test_main_run.py \ --deselect=tests/cli/test_subcommands.py::test_env_create \ --deselect=tests/cli/test_subcommands.py::test_env_update \ --deselect=tests/cli/test_subcommands.py::test_init \ diff --git a/sources b/sources index b421cbc..3099aff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.5.2.tar.gz) = 05e6a36f11dde4518924ed7703d1807dc177fd868da1450da698857bfec35d160461e214459b8b95d578f88f28066b1684b67638347c1e5a1ef8cae5eae53294 +SHA512 (conda-23.7.2.tar.gz) = c0f2ef3555b808eba0a52a85f2dee42b072cdfb11567b8f8a015ebe5ab000512b5d729ba53a127370692b56c4f695f1fd961a9145eab961f17fb0fe087a5d463 From f512f6086d05f68d912294d176b7d6a167048b46 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 23 Aug 2023 12:44:15 -0600 Subject: [PATCH 18/56] Update to 23.7.3 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index c83056d..05a7d44 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.7.2 +Version: 23.7.3 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 3099aff..6693ea9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.7.2.tar.gz) = c0f2ef3555b808eba0a52a85f2dee42b072cdfb11567b8f8a015ebe5ab000512b5d729ba53a127370692b56c4f695f1fd961a9145eab961f17fb0fe087a5d463 +SHA512 (conda-23.7.3.tar.gz) = c1080674c4454528815c6558dcefe8d065843893f63e206a377e60d9ffe53ee02ec8cf641dcbe63a49816ba099d91b62285275e95be1d183dbe739ad4970bf6d From ccc45b8c775cb0962d8fae202b97fbead1d1e1d0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 13 Sep 2023 21:47:51 -0600 Subject: [PATCH 19/56] Update to 23.7.4 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 05a7d44..62c0f18 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.7.3 +Version: 23.7.4 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 6693ea9..711759d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.7.3.tar.gz) = c1080674c4454528815c6558dcefe8d065843893f63e206a377e60d9ffe53ee02ec8cf641dcbe63a49816ba099d91b62285275e95be1d183dbe739ad4970bf6d +SHA512 (conda-23.7.4.tar.gz) = 5194eb9f335dc7d8cfffb62adc8dbdec7bee6db972b2b560dedb787b02ffb4ed2f7f4f219ca73a3360b2c81ea7d79397c0d8b911446ee8593e32a2a0be38045c From d288339a2ea669653d016cedce252f931d3e20db Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 8 Oct 2023 08:17:12 -0600 Subject: [PATCH 20/56] Update to 23.9.0 --- ...hell-assume-shell-plugins-are-in-etc.patch | 16 ++--- conda | 59 ++++++++++++------- conda.spec | 36 +++++------ sources | 2 +- 4 files changed, 66 insertions(+), 47 deletions(-) diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index 6ba7fbe..b7710f9 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -1,8 +1,8 @@ diff --git a/conda/activate.py b/conda/activate.py -index 2eccc5f..bba1adb 100644 +index 8149162..0d751e3 100644 --- a/conda/activate.py +++ b/conda/activate.py -@@ -908,13 +908,7 @@ class PosixActivator(_Activator): +@@ -918,13 +918,7 @@ class PosixActivator(_Activator): set_var_tmpl = "%s='%s'" run_script_tmpl = '. "%s"' @@ -17,7 +17,7 @@ index 2eccc5f..bba1adb 100644 def _update_prompt(self, set_vars, conda_prompt_modifier): ps1 = self.environ.get("PS1", "") -@@ -961,13 +955,7 @@ class CshActivator(_Activator): +@@ -971,13 +965,7 @@ class CshActivator(_Activator): set_var_tmpl = "set %s='%s'" run_script_tmpl = 'source "%s"' @@ -32,8 +32,8 @@ index 2eccc5f..bba1adb 100644 def _update_prompt(self, set_vars, conda_prompt_modifier): prompt = self.environ.get("prompt", "") -@@ -1023,7 +1011,7 @@ class XonshActivator(_Activator): - else 'source-bash --suppress-skip-message "%s"' +@@ -1033,7 +1021,7 @@ class XonshActivator(_Activator): + else 'source-bash --suppress-skip-message -n "%s"' ) - hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") @@ -41,7 +41,7 @@ index 2eccc5f..bba1adb 100644 def _hook_preamble(self) -> str: return '$CONDA_EXE = "%s"' % self.path_conversion(context.conda_exe) -@@ -1064,14 +1052,7 @@ class FishActivator(_Activator): +@@ -1074,14 +1062,7 @@ class FishActivator(_Activator): set_var_tmpl = 'set -g %s "%s"' run_script_tmpl = 'source "%s"' @@ -58,10 +58,10 @@ index 2eccc5f..bba1adb 100644 def _hook_preamble(self) -> str: if on_win: diff --git a/conda/base/context.py b/conda/base/context.py -index 8b78e69..01f1412 100644 +index c22fafd..cf29eb6 100644 --- a/conda/base/context.py +++ b/conda/base/context.py -@@ -753,7 +753,7 @@ class Context(Configuration): +@@ -739,7 +739,7 @@ class Context(Configuration): def av_data_dir(self): """Where critical artifact verification data (e.g., various public keys) can be found.""" # TODO (AV): Find ways to make this user configurable? diff --git a/conda b/conda index 0309bad..37bab57 100644 --- a/conda +++ b/conda @@ -37,8 +37,9 @@ function __comp_conda_ensure_root() { : import conda : print(os.path.dirname(conda.__file__)) " + script="${script// : /}" # don't assume an active base environment - CONDA_SOURCE=$(conda activate base; python -c "${script// : /}") + CONDA_SOURCE=$(conda activate base; python -c "$script") fi } @@ -51,40 +52,49 @@ function __comp_conda_commands () { echo activate deactivate # check commands from full anaconda install - for f in $CONDA_SOURCE/cli/main_*.py + for f in "$CONDA_SOURCE"/cli/main_*.py do # skip pip -- not a sub-command - [[ $f == */main_pip.py ]] && continue - \expr match "$f" '.*_\([a-z]\+\)\.py$' + [[ "$f" == */main_pip.py ]] && continue + if [[ "$f" =~ .*_([a-z]+)\.py$ ]]; then + echo "${BASH_REMATCH[1]}" + fi done # check extra pluggins - for f in $CONDA_ROOT/bin/conda-* + for f in "$CONDA_ROOT"/bin/conda-* do if [[ -x "$f" && ! -d "$f" ]] then - \expr match "$f" '^.*/conda-\(.*\)' + if [[ "$f" =~ .*/conda-(.*) ]]; then + echo "${BASH_REMATCH[1]}" + fi fi done } function __comp_conda_env_commands() { - for f in $CONDA_SOURCE/../conda_env/cli/main_*.py + for f in "$CONDA_SOURCE"/../conda_env/cli/main_*.py do - \expr match "$f" '.*_\([a-z]\+\)\.py$' + [[ "$f" == */main_vars.py ]] && continue + if [[ "$f" =~ .*_([a-z]+)\.py$ ]]; then + echo "${BASH_REMATCH[1]}" + fi done } function __comp_conda_envs() { \local script=" - : from __future__ import print_function; - : import json, os, sys; - : from os.path import isdir, join; + : from __future__ import print_function + : import json, os, sys + : from os.path import isdir, join : print('\n'.join( : d for ed in json.load(sys.stdin)['envs_dirs'] if isdir(ed) - : for d in os.listdir(ed) if isdir(join(ed, d)))); + : for d in os.listdir(ed) if isdir(join(ed, d))) + : ) " - conda config --json --show envs_dirs | python -c "${script// : /}" + script="${script// : /}" + conda config --json --show envs_dirs | $CONDA_PYTHON_EXE -c "$script" } function __comp_conda_packages() { @@ -95,13 +105,13 @@ function __comp_conda_cmds_str() { # get a list of commands, skipping options \local cmd \local -a cmds - for cmd in $*; do + for cmd in "$@"; do case "$cmd" in -*) continue ;; - *) cmds+=($cmd) ;; + *) cmds+=("$cmd") ;; esac done - echo "${cmds[*]}" + echo "${cmds[@]}" } # helper for debugging issues with the cache @@ -135,7 +145,7 @@ function __comp_conda_option_lookup() { else word_list=${__comp_conda_cache[$cmd_key]} fi - echo $word_list + echo "$word_list" } # cache conda subcommand help lookups for the duration of the shell @@ -149,6 +159,7 @@ __comp_conda_ensure_root 2>/dev/null || : _comp_conda() { + # shellcheck disable=SC2034 \local cur prev words cword _init_completion || return @@ -157,7 +168,7 @@ _comp_conda() \local word_list cmd_str if [[ $cur == -* ]]; then # get the current list of commands as a string sans options - cmd_str="$(__comp_conda_cmds_str ${words[@]})" + cmd_str=$(__comp_conda_cmds_str "${words[@]}") word_list=$(__comp_conda_option_lookup "$cmd_str") else case "$prev" in @@ -168,8 +179,12 @@ _comp_conda() word_list=$(__comp_conda_env_commands 2>/dev/null) ;; activate) - _filedir -d # environment directories - word_list=$(__comp_conda_envs 2>/dev/null) + if [[ $cur == */* ]] + then + _filedir -d # environment directories + else + word_list=$(__comp_conda_envs 2>/dev/null) + fi ;; remove|uninstall|upgrade|update) word_list=$(__comp_conda_packages 2>/dev/null) @@ -193,7 +208,9 @@ _comp_conda() esac fi if [[ -n $word_list ]]; then - COMPREPLY+=( $(compgen -W "$word_list" -- "$cur") ) + # append completion suggestions to COMPREPLY + mapfile -t -O "${#COMPREPLY[@]}" COMPREPLY < \ + <(compgen -W "$word_list" -- "$cur") fi } && complete -F _comp_conda conda diff --git a/conda.spec b/conda.spec index 62c0f18..a7a0ad6 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.7.4 +Version: 23.9.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -12,7 +12,7 @@ License: BSD-3-Clause AND Apache-2.0 URL: http://conda.pydata.org/docs/ Source0: https://github.com/conda/conda/archive/%{version}/%{name}-%{version}.tar.gz # bash completion script moved to a separate project -Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.5/conda +Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.7/conda Patch0: conda_sys_prefix.patch # Use system cpuinfo Patch3: conda-cpuinfo.patch @@ -104,11 +104,9 @@ Provides: bundled(python%{python3_pkgversion}-boltons) = 21.0.0 %prep %autosetup -p1 -# Create version file -echo %{version} > conda/.version -# xdoctest not packaged -sed -i -e '/xdoctest/d' setup.cfg +# pytest-split/xdoctest not packaged, store-duration not needed +sed -i -e '/splitting-algorithm/d' -e '/store-durations/d' -e '/xdoctest/d' pyproject.toml # delete interpreter line, the user can always call the file # explicitly as python3 /usr/lib/python3.6/site-packages/conda/_vendor/appdirs.py @@ -118,19 +116,16 @@ sed -r -i '1 {/#![/]usr[/]bin[/]env/d}' conda/_vendor/appdirs.py # Use Fedora's cpuinfo since it supports more arches rm -r conda/_vendor/cpuinfo -# Replaced by cytools, byte compilation fails under python3.7 -%if 0%{?fedora} || 0%{?rhel} >= 8 -# EPEL does not have new enough cytoolz -rm -r conda/_vendor/toolz -%endif - # Use system versions -rm -r conda/_vendor/{distro.py,frozendict,tqdm} -find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\|tqdm\).*\) import/\1from \2 import/' +rm -r conda/_vendor/{distro.py,frozendict} +find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\).*\) import/\1from \2 import/' # Unpackaged - use vendored version sed -i -e '/"boltons *>/d' pyproject.toml +# Unpackaged - really only applicable for macOS/Windows? +sed -i -e '/"truststore *>/d' pyproject.toml + %ifnarch x86_64 # Tests on 32-bit cp -a tests/data/conda_format_repo/linux-{64,32} @@ -140,8 +135,8 @@ cp -a tests/data/conda_format_repo/{linux-64,%{python3_platform}} sed -i -e s/linux-64/%{python3_platform}/ tests/data/conda_format_repo/%{python3_platform}/*json %endif -# do not run coverage in pytest -sed -i -E '/--(no-)?cov/d' setup.cfg +# Do not run coverage in pytest +sed -i -e '/"--cov/d' pyproject.toml %generate_buildrequires %pyproject_buildrequires @@ -153,7 +148,7 @@ sed -i -E '/--(no-)?cov/d' setup.cfg %pyproject_install %py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda rm -r %{buildroot}%{python3_sitelib}/tests -%pyproject_save_files conda conda_env +%pyproject_save_files conda* mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d mkdir -p %{buildroot}%{_datadir}/conda/condarc.d @@ -196,10 +191,12 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. # tests/conda_env/test_create.py::test_create_update_remote_env_file requires network access +# tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment # tests/cli/test_main_{clean,info,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove # tests/cli/test_main_run.py require /usr/bin/conda to be installed # tests/cli/test_subcommands.py tests require network access +# tests/cli/test_subcommands.py::test_rename seems to need an active environment # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 @@ -214,6 +211,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --ignore=tests/conda_env/specs/test_binstar.py \ --deselect=tests/conda_env/test_create.py::test_create_update_remote_env_file \ --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ + --deselect=tests/cli/test_conda_argparse.py::test_list_through_python_api \ --deselect=tests/cli/test_main_clean.py \ --deselect=tests/cli/test_main_info.py::test_info_conda_json \ --deselect=tests/cli/test_main_list.py::test_list \ @@ -226,6 +224,10 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_subcommands.py::test_init \ --deselect=tests/cli/test_subcommands.py::test_install \ --deselect=tests/cli/test_subcommands.py::test_list \ + --deselect=tests/cli/test_subcommands.py::test_notices \ + --deselect=tests/cli/test_subcommands.py::test_remove_all_json[remove] \ + --deselect=tests/cli/test_subcommands.py::test_remove_all_json[uninstall] \ + --deselect=tests/cli/test_subcommands.py::test_rename \ --deselect=tests/cli/test_subcommands.py::test_run \ --deselect=tests/cli/test_subcommands.py::test_search \ --deselect=tests/cli/test_subcommands.py::test_update[update] \ diff --git a/sources b/sources index 711759d..f3592f5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.7.4.tar.gz) = 5194eb9f335dc7d8cfffb62adc8dbdec7bee6db972b2b560dedb787b02ffb4ed2f7f4f219ca73a3360b2c81ea7d79397c0d8b911446ee8593e32a2a0be38045c +SHA512 (conda-23.9.0.tar.gz) = 2aaa5ba01f49f7ad5dc55e48bc4811a4f7e969ba67d075536e3822ddb2e4e481a32a78e9234112be5dcec0ec14b9090aea079dc48840aebb1e380a288413ac7a From 2a5edff6215412eef2fc976e4771b65f2442fc1e Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 8 Oct 2023 20:01:24 -0600 Subject: [PATCH 21/56] Use main entry point for conda and re-add conda-env entry point, no need to run conda init (partial fix for bz#2242585) --- ...back-conda-and-conda_env-entry-point.patch | 29 ------------------- ...oint-for-conda-and-re-add-conda-env-.patch | 27 +++++++++++++++++ conda.spec | 3 ++ 3 files changed, 30 insertions(+), 29 deletions(-) delete mode 100644 0001-Add-back-conda-and-conda_env-entry-point.patch create mode 100644 0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch diff --git a/0001-Add-back-conda-and-conda_env-entry-point.patch b/0001-Add-back-conda-and-conda_env-entry-point.patch deleted file mode 100644 index c91e727..0000000 --- a/0001-Add-back-conda-and-conda_env-entry-point.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ce24f4787ea5647be849590f7eff6f6c1951b504 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 12 Sep 2021 21:04:40 +0200 -Subject: [PATCH 1/2] Add back conda and conda_env entry point - -Partially reverts 0ccc029997e0dc0a28420a89e0cb39c08ff0b738. -'conda init' is designed to fail and emit a warning. Go back -to the normal init. ---- - setup.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 84ecb55cca..bb3db39c4d 100644 ---- a/setup.py -+++ b/setup.py -@@ -86,7 +86,8 @@ setup( - }, - entry_points={ - 'console_scripts': [ -- 'conda=conda.cli.main_pip:main', -+ 'conda=conda.cli.main:main', -+ 'conda-env = conda_env.cli.main:main', - ], - }, - install_requires=install_requires, --- -2.32.0 - diff --git a/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch b/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch new file mode 100644 index 0000000..499f4d0 --- /dev/null +++ b/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch @@ -0,0 +1,27 @@ +From b5f226ef5dd81dec3b01f58e22c252a27a84e515 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Sun, 8 Oct 2023 19:51:26 -0600 +Subject: [PATCH] Use main entry point for conda and re-add conda-env entry + point, no need to run conda init + +--- + pyproject.toml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 2c897d3..1abe369 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -49,7 +49,8 @@ documentation = "https://docs.conda.io/projects/conda/en/stable/" + repository = "https://github.com/conda/conda" + + [project.scripts] +-conda = "conda.cli.main_pip:main" ++conda = "conda.cli.main:main" ++conda-env = "conda.cli.main:main" + + [tool.hatch.version] + source = "vcs" +-- +2.42.0 + diff --git a/conda.spec b/conda.spec index a7a0ad6..77f7dc3 100644 --- a/conda.spec +++ b/conda.spec @@ -14,6 +14,8 @@ Source0: https://github.com/conda/conda/archive/%{version}/%{name}-%{vers # bash completion script moved to a separate project Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.7/conda Patch0: conda_sys_prefix.patch +# Use main entry point for conda and re-add conda-env entry point, no need to run conda init +Patch1: 0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch # Use system cpuinfo Patch3: conda-cpuinfo.patch # Fix tests on 32bit @@ -245,6 +247,7 @@ py.test-%{python3_version} -vv -m "not integration" \ %files %{_sysconfdir}/conda/ %{_bindir}/conda +%{_bindir}/conda-env %{bash_completionsdir}/conda # TODO - better ownership/requires for fish %dir /etc/fish From d6bd3ebed63e994184c272930950cbb11c731392 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 27 Oct 2023 18:59:41 -0600 Subject: [PATCH 22/56] Use automatic BuildRequires/Requires, cleanup deps. Relax ruamel.yaml upper bound (bz#2246608) --- conda.spec | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/conda.spec b/conda.spec index 77f7dc3..2ddef93 100644 --- a/conda.spec +++ b/conda.spec @@ -53,32 +53,11 @@ can only use conda to create and manage new environments.} %description %_description -%global _py3_reqs \ - python%{python3_pkgversion}-cpuinfo \ - python%{python3_pkgversion}-conda-package-handling >= 1.3.0 \ - python%{python3_pkgversion}-distro >= 1.0.4 \ - python%{python3_pkgversion}-frozendict >= 1.2 \ - python%{python3_pkgversion}-pluggy >= 1.0.0 \ - python%{python3_pkgversion}-pycosat >= 0.6.3 \ - python%{python3_pkgversion}-pyOpenSSL >= 16.2.0 \ - python%{python3_pkgversion}-pyyaml \ - python%{python3_pkgversion}-requests >= 2.18.4 \ - python%{python3_pkgversion}-ruamel-yaml >= 0.11.14 \ - python%{python3_pkgversion}-tqdm >= 4.22.0 \ - python%{python3_pkgversion}-urllib3 >= 1.19.1 -%global py3_reqs %(c="%_py3_reqs"; echo "$c" | xargs) - %package -n python%{python3_pkgversion}-conda Summary: %{summary} BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: %py3_reqs -# When this is present, vendored toolz should not be used -%if 0%{?fedora} || 0%{?rhel} >= 8 -# EPEL7 does not have new enough cytoolz -BuildRequires: python%{python3_pkgversion}-cytoolz >= 0.8.2 -%endif # For tests BuildRequires: python-unversioned-command BuildRequires: python%{python3_pkgversion}-boto3 @@ -90,11 +69,6 @@ BuildRequires: python%{python3_pkgversion}-pytest-timeout BuildRequires: python%{python3_pkgversion}-pytest-xprocess BuildRequires: python%{python3_pkgversion}-responses -Requires: %py3_reqs -%if 0%{?fedora} || 0%{?rhel} >= 8 -# EPEL does not have new enough cytoolz -Requires: python%{python3_pkgversion}-cytoolz >= 0.8.2 -%endif # Some versions in conda/_vendor/vendor.txt Provides: bundled(python%{python3_pkgversion}-appdirs) = 1.2.0 Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 @@ -107,6 +81,9 @@ Provides: bundled(python%{python3_pkgversion}-boltons) = 21.0.0 %prep %autosetup -p1 +# Do not restrict upper bound of ruamel-yaml +sed -i -e '/ruamel.yaml/s/,<[0-9.]*//' pyproject.toml + # pytest-split/xdoctest not packaged, store-duration not needed sed -i -e '/splitting-algorithm/d' -e '/store-durations/d' -e '/xdoctest/d' pyproject.toml @@ -117,10 +94,13 @@ sed -r -i '1 {/#![/]usr[/]bin[/]env/d}' conda/_vendor/appdirs.py # Use Fedora's cpuinfo since it supports more arches rm -r conda/_vendor/cpuinfo +sed -i -e '/^dependencies = /a\ \ "py-cpuinfo",' pyproject.toml # Use system versions rm -r conda/_vendor/{distro.py,frozendict} find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\).*\) import/\1from \2 import/' +sed -i -e '/^dependencies = /a\ \ "distro",' pyproject.toml +sed -i -e '/^dependencies = /a\ \ "frozendict",' pyproject.toml # Unpackaged - use vendored version sed -i -e '/"boltons *>/d' pyproject.toml From f48b2e379f8d8f91ad819391565e125b3c55a9f4 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 2 Dec 2023 11:59:15 -0700 Subject: [PATCH 23/56] Ship tests sub-package --- conda.spec | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 2ddef93..2b43e36 100644 --- a/conda.spec +++ b/conda.spec @@ -54,6 +54,14 @@ can only use conda to create and manage new environments.} %description %_description +%package tests +Summary: conda tests + +%description tests +Data for conda tests. Set CONDA_TEST_DATA_DIR to +%{_datadir}/conda/tests/data. + + %package -n python%{python3_pkgversion}-conda Summary: %{summary} @@ -129,7 +137,6 @@ sed -i -e '/"--cov/d' pyproject.toml %install %pyproject_install %py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda -rm -r %{buildroot}%{python3_sitelib}/tests %pyproject_save_files conda* mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d @@ -140,6 +147,9 @@ pkgs_dirs: - ~/.conda/pkgs EOF +mv %{buildroot}%{python3_sitelib}/tests %{buildroot}%{_datadir}/conda/ +cp -rp tests/data %{buildroot}%{_datadir}/conda/tests/ + mkdir -p %{buildroot}%{_localstatedir}/cache/conda/pkgs/cache # install does not create the directory on EL7 @@ -176,6 +186,7 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment # tests/cli/test_main_{clean,info,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove +# tests/cli/test_main_notices.py::test_notices_cannot_read_cache_files - TypeError: '<' not supported between instances of 'MagicMock' and 'int' # tests/cli/test_main_run.py require /usr/bin/conda to be installed # tests/cli/test_subcommands.py tests require network access # tests/cli/test_subcommands.py::test_rename seems to need an active environment @@ -199,6 +210,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_main_list.py::test_list \ --deselect=tests/cli/test_main_list.py::test_list_reverse \ --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ + --deselect=tests/cli/test_main_notices.py::test_notices_cannot_read_cache_files \ --deselect=tests/cli/test_main_rename.py \ --deselect=tests/cli/test_main_run.py \ --deselect=tests/cli/test_subcommands.py::test_env_create \ @@ -236,10 +248,14 @@ py.test-%{python3_version} -vv -m "not integration" \ /etc/profile.d/conda.sh /etc/profile.d/conda.csh +%files tests +%{_datadir}/conda/tests/ + %files -n python%{python3_pkgversion}-conda -f %pyproject_files %doc CHANGELOG.md README.md %{_localstatedir}/cache/conda/ -%{_datadir}/conda/ +%dir %{_datadir}/conda/ +%{_datadir}/conda/condarc.d/ %changelog From 4f44ec26f15cc574671c9956060cdafb2685111c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 4 Dec 2023 06:52:51 -0700 Subject: [PATCH 24/56] Use proper entry point for conda-env --- 0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch b/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch index 499f4d0..c655aa9 100644 --- a/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch +++ b/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch @@ -18,7 +18,7 @@ index 2c897d3..1abe369 100644 [project.scripts] -conda = "conda.cli.main_pip:main" +conda = "conda.cli.main:main" -+conda-env = "conda.cli.main:main" ++conda-env = "conda_env.cli.main:main" [tool.hatch.version] source = "vcs" From 5d6770295078997d955e1235450d484942094dc7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 30 Nov 2023 20:48:13 -0700 Subject: [PATCH 25/56] Update to 23.10 - Use vendor_conf.d for fish --- conda-cpuinfo.patch | 13 ------------ conda.spec | 48 +++++++++++++++++++++++++++++++++++++-------- sources | 2 +- 3 files changed, 41 insertions(+), 22 deletions(-) diff --git a/conda-cpuinfo.patch b/conda-cpuinfo.patch index d395727..682f08b 100644 --- a/conda-cpuinfo.patch +++ b/conda-cpuinfo.patch @@ -11,16 +11,3 @@ index dbeac32..8b78e69 100644 return frozendict(get_cpu_info()) -diff --git a/tests/core/test_solve.py b/tests/core/test_solve.py -index efb839a..71812ca 100644 ---- a/tests/core/test_solve.py -+++ b/tests/core/test_solve.py -@@ -8,7 +8,7 @@ from unittest.mock import Mock - - import pytest - --from conda._vendor.cpuinfo import get_cpu_info -+from cpuinfo import get_cpu_info - from conda.auxlib.ish import dals - from conda.base.context import conda_tests_ctxt_mgmt_def_pol, context - from conda.common.compat import on_linux diff --git a/conda.spec b/conda.spec index 2b43e36..9c0d852 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.9.0 +Version: 23.10.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -20,7 +20,7 @@ Patch1: 0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch Patch3: conda-cpuinfo.patch # Fix tests on 32bit # https://github.com/conda/conda/pull/9759 -Patch4: conda-32bit.patch +#Patch4: conda-32bit.patch Patch10004: 0004-Do-not-try-to-run-usr-bin-python.patch Patch10005: 0005-Fix-failing-tests-in-test_api.py.patch @@ -158,9 +158,9 @@ sed -r -i -e '1i [ -z "$CONDA_EXE" ] && CONDA_EXE=%{_bindir}/conda' \ -e '/PATH=.*condabin/s|PATH=|[ -d $(dirname "$CONDA_EXE")/condabin ] \&\& PATH=|' %{buildroot}/etc/profile.d/conda.sh sed -r -i -e '1i set _CONDA_EXE=%{_bindir}/conda\nset _CONDA_ROOT=' \ -e 's/CONDA_PFX=.*/CONDA_PFX=/' %{buildroot}/etc/profile.d/conda.csh -install -m 0644 -Dt %{buildroot}/etc/fish/conf.d/ conda/shell/etc/fish/conf.d/conda.fish +install -m 0644 -Dt %{buildroot}%{_datadir}/fish/vendor_conf.d/ conda/shell/etc/fish/conf.d/conda.fish sed -r -i -e '1i set -gx CONDA_EXE "/usr/bin/conda"\nset _CONDA_ROOT "/usr"\nset _CONDA_EXE "/usr/bin/conda"\nset -gx CONDA_PYTHON_EXE "/usr/bin/python3"' \ - %{buildroot}/etc/fish/conf.d/conda.fish + %{buildroot}%{_datadir}/fish/vendor_conf.d/conda.fish # Install bash completion script install -m 0644 -Dt %{buildroot}%{bash_completionsdir}/ %SOURCE1 @@ -193,6 +193,9 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 +# tests/core/test_solve.py libmamba - some depsolving differences - TODO +# tests/core/test_solve.py libmamba - some depsolving differences - TODO +# tests/core/test_prefix_graph.py libmamba - some depsolving differences - TODO # tests/trust/test_signature_verification.py requires conda_content_trust - not yet packaged py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_cli.py::TestJson::test_list \ @@ -231,7 +234,37 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/core/test_subdir_data.py::test_use_only_tar_bz2 \ --deselect=tests/core/test_initialize.py \ --deselect=tests/core/test_solve.py::test_cuda_fail_1 \ + --deselect=tests/core/test_solve.py::test_conda_downgrade[libmamba] \ + --deselect=tests/core/test_solve.py::test_python2_update[libmamba] \ + --deselect=tests/core/test_solve.py::test_update_deps_2[libmamba] \ + --deselect=tests/core/test_solve.py::test_fast_update_with_update_modifier_not_set[libmamba] \ + --deselect=tests/core/test_solve.py::test_timestamps_1[libmamba] \ + --deselect=tests/core/test_solve.py::test_remove_with_constrained_dependencies[libmamba] \ --deselect=tests/gateways/test_jlap.py::test_download_and_hash \ + --deselect=tests/test_plan.py::test_pinned_specs_conda_meta_pinned \ + --deselect=tests/test_plan.py::test_pinned_specs_condarc \ + --deselect=tests/test_plan.py::test_pinned_specs_all \ + --deselect=tests/cli/test_subcommands.py::test_compare[libmamba] \ + --deselect=tests/cli/test_subcommands.py::test_package[libmamba] \ + --deselect=tests/cli/test_subcommands.py::test_remove[libmamba-remove] \ + --deselect=tests/cli/test_subcommands.py::test_remove[libmamba-uninstall] \ + --deselect=tests/cli/test_subcommands.py::test_remove_all_json[libmamba-remove] \ + --deselect=tests/cli/test_subcommands.py::test_remove_all_json[libmamba-uninstall] \ + --deselect=tests/cli/test_subcommands.py::test_remove_all_json[classic-remove] \ + --deselect=tests/cli/test_subcommands.py::test_remove_all_json[classic-uninstall] \ + --deselect=tests/cli/test_subcommands.py::test_update[classic-update] \ + --deselect=tests/cli/test_subcommands.py::test_update[classic-upgrade] \ + --deselect=tests/cli/test_subcommands.py::test_env_remove[libmamba] \ + --deselect=tests/cli/test_subcommands.py::test_env_config_vars[libmamba] \ + --deselect=tests/core/test_subdir_data.py::test_subdir_data_coverage \ + --deselect=tests/models/test_prefix_graph.py::test_prefix_graph_1[libmamba] \ + --deselect=tests/models/test_prefix_graph.py::test_prefix_graph_2[libmamba] \ + --deselect=tests/models/test_prefix_graph.py::test_remove_youngest_descendant_nodes_with_specs[libmamba] \ + --deselect=tests/models/test_prefix_graph.py::test_deep_cyclical_dependency[libmamba] \ + --deselect=tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_with_test_environment \ + --deselect=tests/core/test_prefix_data.py::test_get_environment_env_vars \ + --deselect=tests/core/test_prefix_data.py::test_set_unset_environment_env_vars \ + --deselect=tests/core/test_prefix_data.py::test_set_unset_environment_env_vars_no_exist \ --ignore=tests/trust \ conda tests %endif @@ -241,10 +274,9 @@ py.test-%{python3_version} -vv -m "not integration" \ %{_bindir}/conda %{_bindir}/conda-env %{bash_completionsdir}/conda -# TODO - better ownership/requires for fish -%dir /etc/fish -%dir /etc/fish/conf.d -/etc/fish/conf.d/conda.fish +# TODO - better ownership for fish/vendor_conf.d +%dir %{_datadir}/fish/vendor_conf.d +%{_datadir}/fish/vendor_conf.d/conda.fish /etc/profile.d/conda.sh /etc/profile.d/conda.csh diff --git a/sources b/sources index f3592f5..91b0312 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.9.0.tar.gz) = 2aaa5ba01f49f7ad5dc55e48bc4811a4f7e969ba67d075536e3822ddb2e4e481a32a78e9234112be5dcec0ec14b9090aea079dc48840aebb1e380a288413ac7a +SHA512 (conda-23.10.0.tar.gz) = d7605d734670161cd0de294a5ab15d9bc7ee2072b74c26e627283d3ad416ca7e34bf5a87fde5114da0fff732499aab99ea2d64fca2494deef6f1b370e368c635 From d51b3ca3264899f678b11f35fea7e3a9fb78eda1 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 30 Nov 2023 20:48:13 -0700 Subject: [PATCH 26/56] Update to 23.11.0 --- ...hell-assume-shell-plugins-are-in-etc.patch | 26 +++++++++---------- conda.spec | 7 ++++- sources | 2 +- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index b7710f9..577c06b 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -1,51 +1,51 @@ diff --git a/conda/activate.py b/conda/activate.py -index 8149162..0d751e3 100644 +index e7944a2..318cf88 100644 --- a/conda/activate.py +++ b/conda/activate.py -@@ -918,13 +918,7 @@ class PosixActivator(_Activator): +@@ -924,13 +924,7 @@ class PosixActivator(_Activator): set_var_tmpl = "%s='%s'" run_script_tmpl = '. "%s"' -- hook_source_path = join( +- hook_source_path = Path( - CONDA_PACKAGE_ROOT, - "shell", - "etc", - "profile.d", - "conda.sh", - ) -+ hook_source_path = '/etc/profile.d/conda.sh' ++ hook_source_path = "/etc/profile.d/conda.sh" def _update_prompt(self, set_vars, conda_prompt_modifier): ps1 = self.environ.get("PS1", "") -@@ -971,13 +965,7 @@ class CshActivator(_Activator): +@@ -977,13 +971,7 @@ class CshActivator(_Activator): set_var_tmpl = "set %s='%s'" run_script_tmpl = 'source "%s"' -- hook_source_path = join( +- hook_source_path = Path( - CONDA_PACKAGE_ROOT, - "shell", - "etc", - "profile.d", - "conda.csh", - ) -+ hook_source_path = '/etc/profile.d/conda.csh' ++ hook_source_path = "/etc/profile.d/conda.csh" def _update_prompt(self, set_vars, conda_prompt_modifier): prompt = self.environ.get("prompt", "") -@@ -1033,7 +1021,7 @@ class XonshActivator(_Activator): +@@ -1039,7 +1027,7 @@ class XonshActivator(_Activator): else 'source-bash --suppress-skip-message -n "%s"' ) -- hook_source_path = join(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") +- hook_source_path = Path(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") + hook_source_path = "/etc/profile.d/conda.xsh" def _hook_preamble(self) -> str: return '$CONDA_EXE = "%s"' % self.path_conversion(context.conda_exe) -@@ -1074,14 +1062,7 @@ class FishActivator(_Activator): +@@ -1080,14 +1068,7 @@ class FishActivator(_Activator): set_var_tmpl = 'set -g %s "%s"' run_script_tmpl = 'source "%s"' -- hook_source_path = join( +- hook_source_path = Path( - CONDA_PACKAGE_ROOT, - "shell", - "etc", @@ -58,10 +58,10 @@ index 8149162..0d751e3 100644 def _hook_preamble(self) -> str: if on_win: diff --git a/conda/base/context.py b/conda/base/context.py -index c22fafd..cf29eb6 100644 +index 52c789c..4bed062 100644 --- a/conda/base/context.py +++ b/conda/base/context.py -@@ -739,7 +739,7 @@ class Context(Configuration): +@@ -756,7 +756,7 @@ class Context(Configuration): def av_data_dir(self): """Where critical artifact verification data (e.g., various public keys) can be found.""" # TODO (AV): Find ways to make this user configurable? diff --git a/conda.spec b/conda.spec index 9c0d852..2974aca 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.10.0 +Version: 23.11.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -216,6 +216,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_main_notices.py::test_notices_cannot_read_cache_files \ --deselect=tests/cli/test_main_rename.py \ --deselect=tests/cli/test_main_run.py \ + --deselect=tests/cli/test_subcommands.py::test_create[libmamba] \ --deselect=tests/cli/test_subcommands.py::test_env_create \ --deselect=tests/cli/test_subcommands.py::test_env_update \ --deselect=tests/cli/test_subcommands.py::test_init \ @@ -227,6 +228,8 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_subcommands.py::test_rename \ --deselect=tests/cli/test_subcommands.py::test_run \ --deselect=tests/cli/test_subcommands.py::test_search \ + --deselect=tests/cli/test_subcommands.py::test_update[libmamba-update] \ + --deselect=tests/cli/test_subcommands.py::test_update[libmamba-upgrade] \ --deselect=tests/cli/test_subcommands.py::test_update[update] \ --deselect=tests/cli/test_subcommands.py::test_update[upgrade] \ --deselect=tests/core/test_package_cache_data.py::test_ProgressiveFetchExtract_prefers_conda_v2_format \ @@ -241,6 +244,8 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/core/test_solve.py::test_timestamps_1[libmamba] \ --deselect=tests/core/test_solve.py::test_remove_with_constrained_dependencies[libmamba] \ --deselect=tests/gateways/test_jlap.py::test_download_and_hash \ + --deselect=tests/gateways/test_jlap.py::test_jlap_fetch_ssl[True] \ + --deselect=tests/gateways/test_jlap.py::test_jlap_fetch_ssl[False] \ --deselect=tests/test_plan.py::test_pinned_specs_conda_meta_pinned \ --deselect=tests/test_plan.py::test_pinned_specs_condarc \ --deselect=tests/test_plan.py::test_pinned_specs_all \ diff --git a/sources b/sources index 91b0312..f33503d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.10.0.tar.gz) = d7605d734670161cd0de294a5ab15d9bc7ee2072b74c26e627283d3ad416ca7e34bf5a87fde5114da0fff732499aab99ea2d64fca2494deef6f1b370e368c635 +SHA512 (conda-23.11.0.tar.gz) = 0bb2fc1bfc44d7bed617880052e02a6cd3f9d88eeaae80f20251415e1552cd289e63ef1de6e2d6ee1d27d6aabd9224d027c801af731be62ca5e473736e191f35 From beff4ff623911fa4a6ed2d4b905abb82f11f9cfd Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 23 Dec 2023 20:48:14 -0700 Subject: [PATCH 27/56] Preserve hook_source_path as a Path object --- 0006-shell-assume-shell-plugins-are-in-etc.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index 577c06b..9be1883 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -13,7 +13,7 @@ index e7944a2..318cf88 100644 - "profile.d", - "conda.sh", - ) -+ hook_source_path = "/etc/profile.d/conda.sh" ++ hook_source_path = Path("/etc/profile.d/conda.sh") def _update_prompt(self, set_vars, conda_prompt_modifier): ps1 = self.environ.get("PS1", "") @@ -28,7 +28,7 @@ index e7944a2..318cf88 100644 - "profile.d", - "conda.csh", - ) -+ hook_source_path = "/etc/profile.d/conda.csh" ++ hook_source_path = Path("/etc/profile.d/conda.csh") def _update_prompt(self, set_vars, conda_prompt_modifier): prompt = self.environ.get("prompt", "") @@ -37,7 +37,7 @@ index e7944a2..318cf88 100644 ) - hook_source_path = Path(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") -+ hook_source_path = "/etc/profile.d/conda.xsh" ++ hook_source_path = Path("/etc/profile.d/conda.xsh") def _hook_preamble(self) -> str: return '$CONDA_EXE = "%s"' % self.path_conversion(context.conda_exe) @@ -53,7 +53,7 @@ index e7944a2..318cf88 100644 - "conf.d", - "conda.fish", - ) -+ hook_source_path = "/etc/fish/conf.d/conda.fish" ++ hook_source_path = Path("/etc/fish/conf.d/conda.fish") def _hook_preamble(self) -> str: if on_win: From 38bdf2c17d856783fbc9ff6e12ed432ed86b3fa9 Mon Sep 17 00:00:00 2001 From: Karolina Surma Date: Wed, 20 Dec 2023 12:45:49 +0100 Subject: [PATCH 28/56] Avoid circular dependency on python3-conda-libmamba-solver --- conda.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/conda.spec b/conda.spec index 2974aca..56e8d3f 100644 --- a/conda.spec +++ b/conda.spec @@ -129,7 +129,10 @@ sed -i -e s/linux-64/%{python3_platform}/ tests/data/conda_format_repo/%{python3 sed -i -e '/"--cov/d' pyproject.toml %generate_buildrequires -%pyproject_buildrequires +# When not testing, we don't need runtime dependencies. +# Normally, we would still BuildRequire them to not accidentally build an uninstallable package, +# but there is a runtime dependency loop with python3-conda-libmamba-solver. +%pyproject_buildrequires %{!?with_tests:-R} %build %pyproject_wheel From f6bec6937d132ac4db9ad3ae9ebfffbbf275b7de Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 16:04:24 +0000 Subject: [PATCH 29/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 78bf0073f1a77f7024d4211cd25527a400a1daa8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 07:55:14 +0000 Subject: [PATCH 30/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 0a649051225cf71411ada0c1b01b2707d87103d0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 14 Feb 2024 20:59:16 -0700 Subject: [PATCH 31/56] Update to 24.1.1 --- conda.spec | 17 +++++++++++++---- sources | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/conda.spec b/conda.spec index 56e8d3f..207e7cf 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 23.11.0 +Version: 24.1.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -185,7 +185,7 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_ProgressiveFetchExtract_prefers_conda_v2_format, test_subdir_data_prefers_conda_to_tar_bz2, # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. -# tests/conda_env/test_create.py::test_create_update_remote_env_file requires network access +# tests/env/test_create.py::test_create_update_remote_env_file requires network access # tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment # tests/cli/test_main_{clean,info,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove @@ -207,16 +207,22 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_cli.py::test_run_returns_zero_errorlevel \ --deselect=tests/test_cli.py::test_run_readonly_env \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ - --ignore=tests/conda_env/specs/test_binstar.py \ - --deselect=tests/conda_env/test_create.py::test_create_update_remote_env_file \ + --ignore=tests/env/specs/test_binstar.py \ + --deselect=tests/env/test_create.py::test_create_update_remote_env_file \ --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ + --deselect=tests/cli/test_config.py::test_conda_config_describe \ + --deselect=tests/cli/test_config.py::test_conda_config_validate \ + --deselect=tests/cli/test_config.py::test_conda_config_validate_sslverify_truststore \ --deselect=tests/cli/test_conda_argparse.py::test_list_through_python_api \ --deselect=tests/cli/test_main_clean.py \ + --deselect=tests/cli/test_main_info.py::test_info_python_output \ --deselect=tests/cli/test_main_info.py::test_info_conda_json \ --deselect=tests/cli/test_main_list.py::test_list \ --deselect=tests/cli/test_main_list.py::test_list_reverse \ --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ --deselect=tests/cli/test_main_notices.py::test_notices_cannot_read_cache_files \ + --deselect=tests/cli/test_main_remove.py::test_remove_all \ + --deselect=tests/cli/test_main_remove.py::test_remove_all_keep_env \ --deselect=tests/cli/test_main_rename.py \ --deselect=tests/cli/test_main_run.py \ --deselect=tests/cli/test_subcommands.py::test_create[libmamba] \ @@ -269,6 +275,9 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/models/test_prefix_graph.py::test_prefix_graph_2[libmamba] \ --deselect=tests/models/test_prefix_graph.py::test_remove_youngest_descendant_nodes_with_specs[libmamba] \ --deselect=tests/models/test_prefix_graph.py::test_deep_cyclical_dependency[libmamba] \ + --deselect=tests/plugins/test_pre_solves.py::test_pre_solve_invoked \ + --deselect=tests/plugins/test_post_solves.py::test_post_solve_action_raises_exception \ + --deselect=tests/plugins/test_post_solves.py::test_post_solve_invoked \ --deselect=tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_with_test_environment \ --deselect=tests/core/test_prefix_data.py::test_get_environment_env_vars \ --deselect=tests/core/test_prefix_data.py::test_set_unset_environment_env_vars \ diff --git a/sources b/sources index f33503d..63baa0a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-23.11.0.tar.gz) = 0bb2fc1bfc44d7bed617880052e02a6cd3f9d88eeaae80f20251415e1552cd289e63ef1de6e2d6ee1d27d6aabd9224d027c801af731be62ca5e473736e191f35 +SHA512 (conda-24.1.1.tar.gz) = 83acc44515691cb136bb36ce23e8488190e4785fc5c74602b2af61529f79a8fd88a781c6595cd6ec54ca9b52f12cac0daef1c097157d09849b87e75b3280b785 From e5e74076ca4bb9ca64f15cfa425846308aff9a02 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 20 Feb 2024 19:48:01 -0700 Subject: [PATCH 32/56] Update to 24.1.2 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 207e7cf..134b1ec 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.1.1 +Version: 24.1.2 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 63baa0a..52565e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.1.1.tar.gz) = 83acc44515691cb136bb36ce23e8488190e4785fc5c74602b2af61529f79a8fd88a781c6595cd6ec54ca9b52f12cac0daef1c097157d09849b87e75b3280b785 +SHA512 (conda-24.1.2.tar.gz) = a887a7043a2ec2d298a4f2fa9c99d3038aadc3438fdeec90497d041b28633afa56b49d13b24d19c8d67a2cf0d915cfb8a9a8f8bb3ff5d5e602d65267f6ee93df From 1abcd0c13abf23730f238daeca4329c780e5eb79 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 19 Mar 2024 18:54:18 -0600 Subject: [PATCH 33/56] Update to 24.3.0 --- conda.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 134b1ec..cbcb389 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.1.2 +Version: 24.3.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -206,6 +206,9 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_cli.py::test_run_returns_nonzero_errorlevel \ --deselect=tests/test_cli.py::test_run_returns_zero_errorlevel \ --deselect=tests/test_cli.py::test_run_readonly_env \ + --deselect=tests/test_install.py::test_conda_pip_interop_dependency_satisfied_by_pip \ + --deselect=tests/test_install.py::test_install_from_extracted_package \ + --deselect=tests/test_install.py::test_install_mkdir \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ --ignore=tests/env/specs/test_binstar.py \ --deselect=tests/env/test_create.py::test_create_update_remote_env_file \ diff --git a/sources b/sources index 52565e6..9fec35b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.1.2.tar.gz) = a887a7043a2ec2d298a4f2fa9c99d3038aadc3438fdeec90497d041b28633afa56b49d13b24d19c8d67a2cf0d915cfb8a9a8f8bb3ff5d5e602d65267f6ee93df +SHA512 (conda-24.3.0.tar.gz) = 57569f7cfa089b1e3cb351302bc496089d400b3fb7796a2890923b2a99b73342328533f2cd3c16244196ec098f69f0cddca3bc0328fb1dc0aced06255fb7df9a From 5925ee3a6104c31c8e7227e01f1dba1e1d5c9043 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 26 Apr 2024 17:02:51 -0600 Subject: [PATCH 34/56] Update to 24.4.0 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index cbcb389..483dfab 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.3.0 +Version: 24.4.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 9fec35b..0d51e28 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.3.0.tar.gz) = 57569f7cfa089b1e3cb351302bc496089d400b3fb7796a2890923b2a99b73342328533f2cd3c16244196ec098f69f0cddca3bc0328fb1dc0aced06255fb7df9a +SHA512 (conda-24.4.0.tar.gz) = b1760bd2d7dd46757a969ecf69884839c73274199eb44ffc52cfe5650f68864fb2e8608606a9bae3e498f729207ddde7618c010f69f22dabd15a297980b2ca61 From dd6335a03ec6fe0ab77db18bd7143041dff30187 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sun, 9 Jun 2024 02:47:14 +0200 Subject: [PATCH 35/56] Bootstrap for Python 3.13 --- conda.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/conda.spec b/conda.spec index 483dfab..5ebee7f 100644 --- a/conda.spec +++ b/conda.spec @@ -1,3 +1,4 @@ +%global _without_tests 1 %bcond_without tests Name: conda From fc7da1f8ec81f89d11f049b4d4dc76482fb0dc57 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sat, 29 Jun 2024 23:36:55 +0200 Subject: [PATCH 36/56] Rebuilt for Python 3.13 --- conda.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/conda.spec b/conda.spec index 5ebee7f..483dfab 100644 --- a/conda.spec +++ b/conda.spec @@ -1,4 +1,3 @@ -%global _without_tests 1 %bcond_without tests Name: conda From c2c4383abee87463a960ab4ee51eb52f76a6c380 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 19:52:48 +0000 Subject: [PATCH 37/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 5095af4c04635ad9b25c300bcdf03d10beaac977 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 1 Aug 2024 22:52:06 -0600 Subject: [PATCH 38/56] Update to 24.7.1 - Add patch to support python 3.13 --- ...oint-for-conda-and-re-add-conda-env-.patch | 27 -------------- ...patch => 0001-conda_sys_prefix.patch.patch | 16 +++++++- ...oint-for-conda-and-re-add-conda-env-.patch | 27 ++++++++++++++ ...hell-assume-shell-plugins-are-in-etc.patch | 20 +++++----- 14117.patch | 32 ++++++++++++++++ conda-32bit.patch | 21 ----------- conda.spec | 37 ++++++++++++++++--- sources | 2 +- 8 files changed, 115 insertions(+), 67 deletions(-) delete mode 100644 0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch rename conda_sys_prefix.patch => 0001-conda_sys_prefix.patch.patch (51%) create mode 100644 0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch create mode 100644 14117.patch delete mode 100644 conda-32bit.patch diff --git a/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch b/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch deleted file mode 100644 index c655aa9..0000000 --- a/0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b5f226ef5dd81dec3b01f58e22c252a27a84e515 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Sun, 8 Oct 2023 19:51:26 -0600 -Subject: [PATCH] Use main entry point for conda and re-add conda-env entry - point, no need to run conda init - ---- - pyproject.toml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index 2c897d3..1abe369 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -49,7 +49,8 @@ documentation = "https://docs.conda.io/projects/conda/en/stable/" - repository = "https://github.com/conda/conda" - - [project.scripts] --conda = "conda.cli.main_pip:main" -+conda = "conda.cli.main:main" -+conda-env = "conda_env.cli.main:main" - - [tool.hatch.version] - source = "vcs" --- -2.42.0 - diff --git a/conda_sys_prefix.patch b/0001-conda_sys_prefix.patch.patch similarity index 51% rename from conda_sys_prefix.patch rename to 0001-conda_sys_prefix.patch.patch index 5bf76b7..6e2c646 100644 --- a/conda_sys_prefix.patch +++ b/0001-conda_sys_prefix.patch.patch @@ -1,8 +1,17 @@ +From 7eeb6a32d2004bc20a156dd8920964c107e99321 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Tue, 30 Jul 2024 18:00:00 -0600 +Subject: [PATCH 1/2] conda_sys_prefix.patch + +--- + conda/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/conda/__init__.py b/conda/__init__.py -index 923ccde..2b64a72 100644 +index 4245cae..a436b1d 100644 --- a/conda/__init__.py +++ b/conda/__init__.py -@@ -28,7 +28,7 @@ __summary__ = __doc__ +@@ -54,7 +54,7 @@ __summary__ = __doc__ __url__ = "https://github.com/conda/conda" if os.getenv("CONDA_ROOT") is None: @@ -11,3 +20,6 @@ index 923ccde..2b64a72 100644 #: The conda package directory. CONDA_PACKAGE_ROOT = abspath(dirname(__file__)) +-- +2.45.2 + diff --git a/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch b/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch new file mode 100644 index 0000000..4ecaa47 --- /dev/null +++ b/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch @@ -0,0 +1,27 @@ +From fb4189dc963862edd92e22426eac7dd672688163 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Tue, 30 Jul 2024 21:38:56 -0600 +Subject: [PATCH 2/2] Use main entry point for conda and re-add conda-env entry + point, no need to run conda init + +--- + pyproject.toml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 443243a..2b44cd1 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -51,7 +51,8 @@ readme = "README.md" + requires-python = ">=3.8" + + [project.scripts] +-conda = "conda.cli.main_pip:main" ++conda = "conda.cli.main:main" ++conda-env = "conda_env.cli.main:main" + + [project.urls] + changelog = "https://github.com/conda/conda/blob/main/CHANGELOG.md" +-- +2.45.2 + diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index 9be1883..7349d47 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -1,8 +1,8 @@ diff --git a/conda/activate.py b/conda/activate.py -index e7944a2..318cf88 100644 +index 9e487a0..6833adb 100644 --- a/conda/activate.py +++ b/conda/activate.py -@@ -924,13 +924,7 @@ class PosixActivator(_Activator): +@@ -1133,13 +1133,7 @@ class PosixActivator(_Activator): set_var_tmpl = "%s='%s'" run_script_tmpl = '. "%s"' @@ -16,8 +16,8 @@ index e7944a2..318cf88 100644 + hook_source_path = Path("/etc/profile.d/conda.sh") def _update_prompt(self, set_vars, conda_prompt_modifier): - ps1 = self.environ.get("PS1", "") -@@ -977,13 +971,7 @@ class CshActivator(_Activator): + ps1 = os.getenv("PS1", "") +@@ -1186,13 +1180,7 @@ class CshActivator(_Activator): set_var_tmpl = "set %s='%s'" run_script_tmpl = 'source "%s"' @@ -31,8 +31,8 @@ index e7944a2..318cf88 100644 + hook_source_path = Path("/etc/profile.d/conda.csh") def _update_prompt(self, set_vars, conda_prompt_modifier): - prompt = self.environ.get("prompt", "") -@@ -1039,7 +1027,7 @@ class XonshActivator(_Activator): + prompt = os.getenv("prompt", "") +@@ -1248,7 +1236,7 @@ class XonshActivator(_Activator): else 'source-bash --suppress-skip-message -n "%s"' ) @@ -40,8 +40,8 @@ index e7944a2..318cf88 100644 + hook_source_path = Path("/etc/profile.d/conda.xsh") def _hook_preamble(self) -> str: - return '$CONDA_EXE = "%s"' % self.path_conversion(context.conda_exe) -@@ -1080,14 +1068,7 @@ class FishActivator(_Activator): + return f'$CONDA_EXE = "{self.path_conversion(context.conda_exe)}"' +@@ -1289,14 +1277,7 @@ class FishActivator(_Activator): set_var_tmpl = 'set -g %s "%s"' run_script_tmpl = 'source "%s"' @@ -58,10 +58,10 @@ index e7944a2..318cf88 100644 def _hook_preamble(self) -> str: if on_win: diff --git a/conda/base/context.py b/conda/base/context.py -index 52c789c..4bed062 100644 +index 9542d3e..9376108 100644 --- a/conda/base/context.py +++ b/conda/base/context.py -@@ -756,7 +756,7 @@ class Context(Configuration): +@@ -797,7 +797,7 @@ class Context(Configuration): def av_data_dir(self): """Where critical artifact verification data (e.g., various public keys) can be found.""" # TODO (AV): Find ways to make this user configurable? diff --git a/14117.patch b/14117.patch new file mode 100644 index 0000000..bd8fbd7 --- /dev/null +++ b/14117.patch @@ -0,0 +1,32 @@ +From 62196c897df3d7aea7063d0c08d1bf6e6fd91600 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Fri, 2 Aug 2024 08:50:43 -0400 +Subject: [PATCH] Adapt for logging lock internal changes in Python 3.13 + +--- + conda/common/io.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/conda/common/io.py b/conda/common/io.py +index 91f37e144d0..d3b655e47f4 100644 +--- a/conda/common/io.py ++++ b/conda/common/io.py +@@ -269,11 +269,16 @@ def argv(args_list): + + @contextmanager + def _logger_lock(): +- logging._acquireLock() ++ try: ++ # Python 3.13+ ++ acquire, release = logging._prepareFork, logging._afterFork ++ except AttributeError: ++ acquire, release = logging._acquireLock, logging._releaseLock ++ acquire() + try: + yield + finally: +- logging._releaseLock() ++ release() + + + @contextmanager diff --git a/conda-32bit.patch b/conda-32bit.patch deleted file mode 100644 index 19fa4d3..0000000 --- a/conda-32bit.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/tests/core/test_solve.py b/tests/core/test_solve.py -index 71812ca..778bbb4 100644 ---- a/tests/core/test_solve.py -+++ b/tests/core/test_solve.py -@@ -224,14 +224,14 @@ def test_cuda_fail_1(tmpdir, clear_cuda_version): - else: - plat = "osx-64" - elif sys.platform == "linux": -- plat = "linux-64" -+ plat = "linux-%s" % platform.architecture()[0][0:2] - elif sys.platform == "win32": - if platform.architecture()[0] == "32bit": - plat = "win-32" - else: - plat = "win-64" - else: -- plat = "linux-64" -+ plat = "linux-%s" % platform.architecture()[0][0:2] - - assert str(exc.value).strip() == dals( - """The following specifications were found to be incompatible with your system: diff --git a/conda.spec b/conda.spec index 483dfab..23dd913 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.4.0 +Version: 24.7.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -13,14 +13,13 @@ URL: http://conda.pydata.org/docs/ Source0: https://github.com/conda/conda/archive/%{version}/%{name}-%{version}.tar.gz # bash completion script moved to a separate project Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-completion/1.7/conda -Patch0: conda_sys_prefix.patch +Patch0: 0001-conda_sys_prefix.patch.patch # Use main entry point for conda and re-add conda-env entry point, no need to run conda init -Patch1: 0001-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch +Patch1: 0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch # Use system cpuinfo Patch3: conda-cpuinfo.patch -# Fix tests on 32bit -# https://github.com/conda/conda/pull/9759 -#Patch4: conda-32bit.patch +# Python 3.13 lock support +Patch4: https://github.com/conda/conda/pull/14117.patch Patch10004: 0004-Do-not-try-to-run-usr-bin-python.patch Patch10005: 0005-Fix-failing-tests-in-test_api.py.patch @@ -185,6 +184,7 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_ProgressiveFetchExtract_prefers_conda_v2_format, test_subdir_data_prefers_conda_to_tar_bz2, # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. +# tests/env/test_create.py::test_create_env_json requires network access # tests/env/test_create.py::test_create_update_remote_env_file requires network access # tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment # tests/cli/test_main_{clean,info,list,list_reverse,rename}.py tests require network access @@ -193,6 +193,17 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/cli/test_main_run.py require /usr/bin/conda to be installed # tests/cli/test_subcommands.py tests require network access # tests/cli/test_subcommands.py::test_rename seems to need an active environment +# tests/test_activate.py::test_activate_same_environment - requries network +# tests/test_activate.py::test_build_activate_dont_activate_unset_var - requires network +# tests/test_activate.py::test_build_activate_restore_unset_env_vars - requries network +# tests/test_activate.py::test_build_activate_shlvl_warn_clobber_vars - requries network +# tests/test_activate.py::test_build_activate_shlvl_0 - requries network +# tests/test_activate.py::test_build_activate_shlvl_1 - requries network +# tests/test_activate.py::test_build_deactivate_shlvl_2_from_stack - requries network +# tests/test_activate.py::test_build_deactivate_shlvl_2_from_activate - requries network +# tests/test_activate.py::test_build_deactivate_shlvl_1 - requries network +# tests/test_activate.py::test_build_stack_shlvl_1 - requries network +# tests/test_activate.py::test_get_env_vars_big_whitespace/test_get_env_vars_empty_file require network access # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 @@ -201,6 +212,18 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/core/test_prefix_graph.py libmamba - some depsolving differences - TODO # tests/trust/test_signature_verification.py requires conda_content_trust - not yet packaged py.test-%{python3_version} -vv -m "not integration" \ + --deselect=tests/test_activate.py::test_activate_same_environment \ + --deselect=tests/test_activate.py::test_build_activate_dont_activate_unset_var \ + --deselect=tests/test_activate.py::test_build_activate_restore_unset_env_vars \ + --deselect=tests/test_activate.py::test_build_activate_shlvl_warn_clobber_vars \ + --deselect=tests/test_activate.py::test_build_activate_shlvl_0 \ + --deselect=tests/test_activate.py::test_build_activate_shlvl_1 \ + --deselect=tests/test_activate.py::test_build_deactivate_shlvl_2_from_stack \ + --deselect=tests/test_activate.py::test_build_deactivate_shlvl_2_from_activate \ + --deselect=tests/test_activate.py::test_build_deactivate_shlvl_1 \ + --deselect=tests/test_activate.py::test_build_stack_shlvl_1 \ + --deselect=tests/test_activate.py::test_get_env_vars_big_whitespace \ + --deselect=tests/test_activate.py::test_get_env_vars_empty_file \ --deselect=tests/test_cli.py::TestJson::test_list \ --deselect=tests/test_cli.py::test_run_returns_int \ --deselect=tests/test_cli.py::test_run_returns_nonzero_errorlevel \ @@ -211,6 +234,8 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_install.py::test_install_mkdir \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ --ignore=tests/env/specs/test_binstar.py \ + --deselect=tests/env/test_create.py::test_create_env_json[example/environment.yml] \ + --deselect=tests/env/test_create.py::test_create_env_json[example/environment_with_pip.yml] \ --deselect=tests/env/test_create.py::test_create_update_remote_env_file \ --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ --deselect=tests/cli/test_config.py::test_conda_config_describe \ diff --git a/sources b/sources index 0d51e28..521780f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.4.0.tar.gz) = b1760bd2d7dd46757a969ecf69884839c73274199eb44ffc52cfe5650f68864fb2e8608606a9bae3e498f729207ddde7618c010f69f22dabd15a297980b2ca61 +SHA512 (conda-24.7.1.tar.gz) = 8fbd8e868a9ac0a73c0d940a393ebbf25f16d1b82ca6c59691e148dbb20c7d4767794fae72cd9a84f071714065e80f8f859f629a239e75feaf43c5d570625a59 From f349058d4f949e67b61d8b791a04eda9ffbd7011 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 8 Oct 2024 08:38:39 -0600 Subject: [PATCH 39/56] Update to 24.9.1 --- 0004-Do-not-try-to-run-usr-bin-python.patch | 19 +++---- conda-cpuinfo.patch | 13 ----- conda.spec | 61 +++++++++++++-------- sources | 2 +- 4 files changed, 48 insertions(+), 47 deletions(-) delete mode 100644 conda-cpuinfo.patch diff --git a/0004-Do-not-try-to-run-usr-bin-python.patch b/0004-Do-not-try-to-run-usr-bin-python.patch index 197eb23..f747eb0 100644 --- a/0004-Do-not-try-to-run-usr-bin-python.patch +++ b/0004-Do-not-try-to-run-usr-bin-python.patch @@ -1,16 +1,15 @@ -diff --git a/conda/common/path.py b/conda/common/path.py -index 32ed396..76bc20a 100644 ---- a/conda/common/path.py -+++ b/conda/common/path.py -@@ -5,6 +5,7 @@ from __future__ import annotations - import os +diff -up conda-24.9.1/conda/common/path/python.py.python conda-24.9.1/conda/common/path/python.py +--- conda-24.9.1/conda/common/path/python.py.python 2024-10-01 15:11:32.000000000 -0600 ++++ conda-24.9.1/conda/common/path/python.py 2024-10-07 21:43:44.951895698 -0600 +@@ -5,6 +5,7 @@ + from __future__ import annotations + import re - import subprocess +import sys - from functools import lru_cache, reduce - from itertools import accumulate, chain from logging import getLogger -@@ -175,9 +176,11 @@ def parse_entry_point_def(ep_definition): + from os.path import join, split, splitext + +@@ -52,9 +53,11 @@ def parse_entry_point_def(ep_definition) def get_python_short_path(python_version=None): if on_win: return "python.exe" diff --git a/conda-cpuinfo.patch b/conda-cpuinfo.patch deleted file mode 100644 index 682f08b..0000000 --- a/conda-cpuinfo.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/conda/base/context.py b/conda/base/context.py -index dbeac32..8b78e69 100644 ---- a/conda/base/context.py -+++ b/conda/base/context.py -@@ -1864,7 +1864,7 @@ conda_tests_ctxt_mgmt_def_pol = replace_context_default - @lru_cache(maxsize=None) - def _get_cpu_info(): - # DANGER: This is rather slow -- from .._vendor.cpuinfo import get_cpu_info -+ from cpuinfo import get_cpu_info - - return frozendict(get_cpu_info()) - diff --git a/conda.spec b/conda.spec index 23dd913..b5e29b3 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.7.1 +Version: 24.9.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -16,8 +16,6 @@ Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-comple Patch0: 0001-conda_sys_prefix.patch.patch # Use main entry point for conda and re-add conda-env entry point, no need to run conda init Patch1: 0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch -# Use system cpuinfo -Patch3: conda-cpuinfo.patch # Python 3.13 lock support Patch4: https://github.com/conda/conda/pull/14117.patch @@ -70,6 +68,7 @@ BuildRequires: python-unversioned-command BuildRequires: python%{python3_pkgversion}-boto3 BuildRequires: python%{python3_pkgversion}-flask BuildRequires: python%{python3_pkgversion}-jsonpatch +BuildRequires: python%{python3_pkgversion}-pexpect BuildRequires: python%{python3_pkgversion}-pytest-mock BuildRequires: python%{python3_pkgversion}-pytest-rerunfailures BuildRequires: python%{python3_pkgversion}-pytest-timeout @@ -94,19 +93,9 @@ sed -i -e '/ruamel.yaml/s/,<[0-9.]*//' pyproject.toml # pytest-split/xdoctest not packaged, store-duration not needed sed -i -e '/splitting-algorithm/d' -e '/store-durations/d' -e '/xdoctest/d' pyproject.toml -# delete interpreter line, the user can always call the file -# explicitly as python3 /usr/lib/python3.6/site-packages/conda/_vendor/appdirs.py -# or so. -sed -r -i '1 {/#![/]usr[/]bin[/]env/d}' conda/_vendor/appdirs.py - -# Use Fedora's cpuinfo since it supports more arches -rm -r conda/_vendor/cpuinfo -sed -i -e '/^dependencies = /a\ \ "py-cpuinfo",' pyproject.toml - # Use system versions -rm -r conda/_vendor/{distro.py,frozendict} -find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\|frozendict\).*\) import/\1from \2 import/' -sed -i -e '/^dependencies = /a\ \ "distro",' pyproject.toml +rm -r conda/_vendor/frozendict +find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(frozendict.*\) import/\1from \2 import/' sed -i -e '/^dependencies = /a\ \ "frozendict",' pyproject.toml # Unpackaged - use vendored version @@ -138,7 +127,7 @@ sed -i -e '/"--cov/d' pyproject.toml %install %pyproject_install -%py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda +#py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda %pyproject_save_files conda* mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d @@ -180,19 +169,20 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_cli.py::TestRun.test_run_returns_int # test_cli.py::TestRun.test_run_returns_nonzero_errorlevel # test_cli.py::TestRun.test_run_returns_zero_errorlevel - # test_ProgressiveFetchExtract_prefers_conda_v2_format, test_subdir_data_prefers_conda_to_tar_bz2, # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. -# tests/env/test_create.py::test_create_env_json requires network access -# tests/env/test_create.py::test_create_update_remote_env_file requires network access # tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment -# tests/cli/test_main_{clean,info,list,list_reverse,rename}.py tests require network access +# tests/cli/test_main_{clean,info,install,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove # tests/cli/test_main_notices.py::test_notices_cannot_read_cache_files - TypeError: '<' not supported between instances of 'MagicMock' and 'int' # tests/cli/test_main_run.py require /usr/bin/conda to be installed # tests/cli/test_subcommands.py tests require network access +# tests/cli/test_subcommands.py::test_doctor- conda.exceptions.EnvironmentLocationNotFound: Not a conda environment: /usr # tests/cli/test_subcommands.py::test_rename seems to need an active environment +# tests/env/test_create.py::test_create_env_json requires network access +# tests/env/test_create.py::test_create_update_remote_env_file requires network access +# tests/env/test_create.py::test_protected_dirs_error_for_env_create - requires network access # tests/test_activate.py::test_activate_same_environment - requries network # tests/test_activate.py::test_build_activate_dont_activate_unset_var - requires network # tests/test_activate.py::test_build_activate_restore_unset_env_vars - requries network @@ -204,12 +194,22 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/test_activate.py::test_build_deactivate_shlvl_1 - requries network # tests/test_activate.py::test_build_stack_shlvl_1 - requries network # tests/test_activate.py::test_get_env_vars_big_whitespace/test_get_env_vars_empty_file require network access +# tests/test_activate.py::test_pre_post_command_invoked[hook] - requires conda to be installed +# tests/test_activate.py::test_pre_post_command_raises[hook] - requires conda to be installed # tests/test_misc.py::test_explicit_missing_cache_entries requires network access # tests/core/test_initialize.py tries to unlink /usr/bin/python3 and fails when python is a release candidate # tests/core/test_solve.py::test_cuda_fail_1 fails on non-x86_64 # tests/core/test_solve.py libmamba - some depsolving differences - TODO # tests/core/test_solve.py libmamba - some depsolving differences - TODO # tests/core/test_prefix_graph.py libmamba - some depsolving differences - TODO +# tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_happy_path - conda.exceptions.EnvironmentLocationNotFound: Not a conda environment: /usr +# tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_happy_path_verbose - conda.exceptions.EnvironmentLocationNotFound: Not a conda environment: /usr +# tests/plugins/test_health_checks.py::test_health_check_ran - conda.exceptions.EnvironmentLocationNotFound: Not a conda environment: /usr +# tests/plugins/test_subcommands.py::test_help - Difference in whitespace +# tests/testing/test_fixtures.py::test_tmp_env - requires network access +# tests/testing/test_fixtures.py::test_session_tmp_env - requires network access +# tests/testing/test_fixtures.py::test_env - requires network tests to succeed +# tests/testing/test_fixtures.py::test_tmp_channel - requires network access # tests/trust/test_signature_verification.py requires conda_content_trust - not yet packaged py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_activate.py::test_activate_same_environment \ @@ -224,6 +224,8 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_activate.py::test_build_stack_shlvl_1 \ --deselect=tests/test_activate.py::test_get_env_vars_big_whitespace \ --deselect=tests/test_activate.py::test_get_env_vars_empty_file \ + --deselect=tests/test_activate.py::test_pre_post_command_invoked[hook] \ + --deselect=tests/test_activate.py::test_pre_post_command_raises[hook] \ --deselect=tests/test_cli.py::TestJson::test_list \ --deselect=tests/test_cli.py::test_run_returns_int \ --deselect=tests/test_cli.py::test_run_returns_nonzero_errorlevel \ @@ -234,9 +236,6 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_install.py::test_install_mkdir \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ --ignore=tests/env/specs/test_binstar.py \ - --deselect=tests/env/test_create.py::test_create_env_json[example/environment.yml] \ - --deselect=tests/env/test_create.py::test_create_env_json[example/environment_with_pip.yml] \ - --deselect=tests/env/test_create.py::test_create_update_remote_env_file \ --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ --deselect=tests/cli/test_config.py::test_conda_config_describe \ --deselect=tests/cli/test_config.py::test_conda_config_validate \ @@ -245,6 +244,9 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_main_clean.py \ --deselect=tests/cli/test_main_info.py::test_info_python_output \ --deselect=tests/cli/test_main_info.py::test_info_conda_json \ + --deselect=tests/cli/test_main_install.py::test_conda_pip_interop_dependency_satisfied_by_pip \ + --deselect=tests/cli/test_main_install.py::test_install_from_extracted_package \ + --deselect=tests/cli/test_main_install.py::test_install_mkdir \ --deselect=tests/cli/test_main_list.py::test_list \ --deselect=tests/cli/test_main_list.py::test_list_reverse \ --deselect=tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands \ @@ -254,6 +256,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_main_rename.py \ --deselect=tests/cli/test_main_run.py \ --deselect=tests/cli/test_subcommands.py::test_create[libmamba] \ + --deselect=tests/cli/test_subcommands.py::test_doctor \ --deselect=tests/cli/test_subcommands.py::test_env_create \ --deselect=tests/cli/test_subcommands.py::test_env_update \ --deselect=tests/cli/test_subcommands.py::test_init \ @@ -280,6 +283,10 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/core/test_solve.py::test_fast_update_with_update_modifier_not_set[libmamba] \ --deselect=tests/core/test_solve.py::test_timestamps_1[libmamba] \ --deselect=tests/core/test_solve.py::test_remove_with_constrained_dependencies[libmamba] \ + --deselect=tests/env/test_create.py::test_create_env_json[example/environment.yml] \ + --deselect=tests/env/test_create.py::test_create_env_json[example/environment_with_pip.yml] \ + --deselect=tests/env/test_create.py::test_create_update_remote_env_file \ + --deselect=tests/env/test_create.py::test_protected_dirs_error_for_env_create \ --deselect=tests/gateways/test_jlap.py::test_download_and_hash \ --deselect=tests/gateways/test_jlap.py::test_jlap_fetch_ssl[True] \ --deselect=tests/gateways/test_jlap.py::test_jlap_fetch_ssl[False] \ @@ -306,10 +313,18 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/plugins/test_pre_solves.py::test_pre_solve_invoked \ --deselect=tests/plugins/test_post_solves.py::test_post_solve_action_raises_exception \ --deselect=tests/plugins/test_post_solves.py::test_post_solve_invoked \ + --deselect=tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_happy_path \ + --deselect=tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_happy_path_verbose \ --deselect=tests/plugins/subcommands/doctor/test_cli.py::test_conda_doctor_with_test_environment \ + --deselect=tests/plugins/test_health_checks.py::test_health_check_ran \ + --deselect=tests/plugins/test_subcommands.py::test_help \ --deselect=tests/core/test_prefix_data.py::test_get_environment_env_vars \ --deselect=tests/core/test_prefix_data.py::test_set_unset_environment_env_vars \ --deselect=tests/core/test_prefix_data.py::test_set_unset_environment_env_vars_no_exist \ + --deselect=tests/testing/test_fixtures.py::test_tmp_env \ + --deselect=tests/testing/test_fixtures.py::test_session_tmp_env \ + --deselect=tests/testing/test_fixtures.py::test_env \ + --deselect=tests/testing/test_fixtures.py::test_tmp_channel \ --ignore=tests/trust \ conda tests %endif diff --git a/sources b/sources index 521780f..35af575 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.7.1.tar.gz) = 8fbd8e868a9ac0a73c0d940a393ebbf25f16d1b82ca6c59691e148dbb20c7d4767794fae72cd9a84f071714065e80f8f859f629a239e75feaf43c5d570625a59 +SHA512 (conda-24.9.1.tar.gz) = a8aa570609ec313f9a79755eb893a0b8171abedce550fc46236622a9eed08d536d3eadcd03e3f3ba476a433169feb3339b72a42ce171712b065de9b353df13ff From c03d4ab444b3dc30c4301db2f6894f9c5a4e161d Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 8 Oct 2024 21:05:19 -0600 Subject: [PATCH 40/56] Set default channel to conda-forge (rhbz#2279958) --- conda.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conda.spec b/conda.spec index b5e29b3..275a685 100644 --- a/conda.spec +++ b/conda.spec @@ -133,6 +133,8 @@ sed -i -e '/"--cov/d' pyproject.toml mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d mkdir -p %{buildroot}%{_datadir}/conda/condarc.d cat >%{buildroot}%{_datadir}/conda/condarc.d/defaults.yaml < Date: Thu, 17 Oct 2024 07:47:42 -0600 Subject: [PATCH 41/56] Update to 24.9.2 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 275a685..25b475a 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.9.1 +Version: 24.9.2 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 35af575..fb653ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.9.1.tar.gz) = a8aa570609ec313f9a79755eb893a0b8171abedce550fc46236622a9eed08d536d3eadcd03e3f3ba476a433169feb3339b72a42ce171712b065de9b353df13ff +SHA512 (conda-24.9.2.tar.gz) = b293253eb8174580dfd63142863c7652c285912fb64253bef5bf7994bfa9ee6dec71af926f7082613d44b9c97d966877d86815b6b19f45319b9edf844978f3ee From f8dda6467951bfb93816f93e385a401a34ee5d54 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 30 Nov 2024 13:54:57 -0700 Subject: [PATCH 42/56] Update to 24.11.0 --- 0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch | 2 +- conda.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch b/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch index 4ecaa47..d51e992 100644 --- a/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch +++ b/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch @@ -13,7 +13,7 @@ index 443243a..2b44cd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,8 @@ readme = "README.md" - requires-python = ">=3.8" + requires-python = ">=3.9" [project.scripts] -conda = "conda.cli.main_pip:main" diff --git a/conda.spec b/conda.spec index 25b475a..bfb6d02 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.9.2 +Version: 24.11.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index fb653ee..ec434b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.9.2.tar.gz) = b293253eb8174580dfd63142863c7652c285912fb64253bef5bf7994bfa9ee6dec71af926f7082613d44b9c97d966877d86815b6b19f45319b9edf844978f3ee +SHA512 (conda-24.11.0.tar.gz) = 2664305e4e1e4214cabd42e55dc0f31ed1fc3b65397dfc56d90f115686f73346172637955a12da3f28f8fd2dc4520f3fe45185e19874f49d234dbfa57829ef1c From 983031fe72e16fa155f79de1678159cb64d4c31c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 11 Dec 2024 20:33:50 -0700 Subject: [PATCH 43/56] Update to 24.11.1 --- conda.spec | 4 +++- sources | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index bfb6d02..89b2df2 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.11.0 +Version: 24.11.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -174,6 +174,7 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_ProgressiveFetchExtract_prefers_conda_v2_format, test_subdir_data_prefers_conda_to_tar_bz2, # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. +# tests/cli/test_all_commands.py::test_denylist_channels - conda.exceptions.EnvironmentLocationNotFound: Not a conda environment: /usr # tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment # tests/cli/test_main_{clean,info,install,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove @@ -238,6 +239,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_install.py::test_install_mkdir \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ --ignore=tests/env/specs/test_binstar.py \ + --deselect=tests/cli/test_all_commands.py::test_denylist_channels \ --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ --deselect=tests/cli/test_config.py::test_conda_config_describe \ --deselect=tests/cli/test_config.py::test_conda_config_validate \ diff --git a/sources b/sources index ec434b3..9ecda71 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.11.0.tar.gz) = 2664305e4e1e4214cabd42e55dc0f31ed1fc3b65397dfc56d90f115686f73346172637955a12da3f28f8fd2dc4520f3fe45185e19874f49d234dbfa57829ef1c +SHA512 (conda-24.11.1.tar.gz) = 2db8dcc8401f624b5de2ab9476cb34e5456709ce5a30e562561956413f3a01965c75115aa78b5bee9612145cee6c9d526a8470d869419013f386883e29ee525c From ba451f3238ac519c49938d7f116d994988e13ad2 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 20 Dec 2024 22:01:51 -0700 Subject: [PATCH 44/56] Update to 24.11.2 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 89b2df2..f2db570 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.11.1 +Version: 24.11.2 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 9ecda71..27e24b7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.11.1.tar.gz) = 2db8dcc8401f624b5de2ab9476cb34e5456709ce5a30e562561956413f3a01965c75115aa78b5bee9612145cee6c9d526a8470d869419013f386883e29ee525c +SHA512 (conda-24.11.2.tar.gz) = ee79185b247f6f293671179e033428febf3c2a5d6c93b5ee4eaa429d3d7316aee094e5338cfec8821e15c0d780a829e2283b36155dbad51a29965b8b6d4a7daa From 021e8124518e5f62d13ca66fa95fe6387ab1c54c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 14:23:14 +0000 Subject: [PATCH 45/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 5f82b139a5baebab17048ba7b2e9f1c0abeb1f0a Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 20 Jan 2025 17:14:43 -0700 Subject: [PATCH 46/56] Update to 24.11.3 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index f2db570..df427e2 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.11.2 +Version: 24.11.3 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index 27e24b7..a2aa5f8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.11.2.tar.gz) = ee79185b247f6f293671179e033428febf3c2a5d6c93b5ee4eaa429d3d7316aee094e5338cfec8821e15c0d780a829e2283b36155dbad51a29965b8b6d4a7daa +SHA512 (conda-24.11.3.tar.gz) = e6bf3a18aa44894243e44140ab2f9911f405d9fc8c518cbdb8eccf5cf4051df7326748e7b03649c3941a854b09b87bbb176632310bb92e5303308fc07d4a4cc6 From d7c8539d8c3211cacf24e28f9f9f4807516dc21a Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 6 Jun 2025 16:44:31 +0200 Subject: [PATCH 47/56] Bootstrap for Python 3.14 --- conda.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/conda.spec b/conda.spec index df427e2..98458f2 100644 --- a/conda.spec +++ b/conda.spec @@ -1,3 +1,4 @@ +%global _without_tests 1 %bcond_without tests Name: conda From b7b10a0b9b1cad2dd718fdbcc06a63b698739950 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 18 Jun 2025 15:50:46 +0200 Subject: [PATCH 48/56] Bootstrap for Python 3.14.0b3 bytecode From 76ff27954e77883c737e788a35d16566ad21171b Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 21 Jul 2025 11:29:50 +0200 Subject: [PATCH 49/56] Unbootstrap for Python 3.14 --- conda.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/conda.spec b/conda.spec index 98458f2..df427e2 100644 --- a/conda.spec +++ b/conda.spec @@ -1,4 +1,3 @@ -%global _without_tests 1 %bcond_without tests Name: conda From 1b5bb91b0299dd060cd029bda93b7a00089b1d57 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 18:36:22 +0000 Subject: [PATCH 50/56] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 14d9eba33695a8505c6895d8f848f59fb94dc583 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 12:42:31 +0200 Subject: [PATCH 51/56] Rebuilt for Python 3.14.0rc2 bytecode From 0884a0436bae144f8742ef18f8b634283c31d1da Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:11:41 +0200 Subject: [PATCH 52/56] Rebuilt for Python 3.14.0rc3 bytecode From dd5dca4cb90cefe1e2a229829542db9772b52f86 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 6 Aug 2025 10:50:58 -0600 Subject: [PATCH 53/56] Update to 25.11.0 (rhbz#2356170) --- ...oint-for-conda-and-re-add-conda-env-.patch | 11 +- ...hell-assume-shell-plugins-are-in-etc.patch | 38 +++--- 14117.patch | 32 ----- conda.spec | 124 ++++++++++++++++-- sources | 2 +- 5 files changed, 136 insertions(+), 71 deletions(-) delete mode 100644 14117.patch diff --git a/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch b/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch index d51e992..3d3d298 100644 --- a/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch +++ b/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch @@ -1,19 +1,18 @@ -From fb4189dc963862edd92e22426eac7dd672688163 Mon Sep 17 00:00:00 2001 +From f8f9a23a2a7540ec39cab9606f8b95aa8b346b65 Mon Sep 17 00:00:00 2001 From: rpm-build -Date: Tue, 30 Jul 2024 21:38:56 -0600 +Date: Mon, 24 Nov 2025 17:30:20 -0700 Subject: [PATCH 2/2] Use main entry point for conda and re-add conda-env entry - point, no need to run conda init --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index 443243a..2b44cd1 100644 +index 7c8f24f..049859b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,8 @@ readme = "README.md" - requires-python = ">=3.9" + requires-python = ">=3.10" [project.scripts] -conda = "conda.cli.main_pip:main" @@ -23,5 +22,5 @@ index 443243a..2b44cd1 100644 [project.urls] changelog = "https://github.com/conda/conda/blob/main/CHANGELOG.md" -- -2.45.2 +2.51.1 diff --git a/0006-shell-assume-shell-plugins-are-in-etc.patch b/0006-shell-assume-shell-plugins-are-in-etc.patch index 7349d47..68c60df 100644 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ b/0006-shell-assume-shell-plugins-are-in-etc.patch @@ -1,10 +1,10 @@ diff --git a/conda/activate.py b/conda/activate.py -index 9e487a0..6833adb 100644 +index f79a03f..951bed4 100644 --- a/conda/activate.py +++ b/conda/activate.py -@@ -1133,13 +1133,7 @@ class PosixActivator(_Activator): +@@ -914,13 +914,7 @@ class PosixActivator(_Activator): set_var_tmpl = "%s='%s'" - run_script_tmpl = '. "%s"' + run_script_tmpl = ". \"`cygpath '%s'`\"" if on_win else '. "%s"' - hook_source_path = Path( - CONDA_PACKAGE_ROOT, @@ -14,12 +14,12 @@ index 9e487a0..6833adb 100644 - "conda.sh", - ) + hook_source_path = Path("/etc/profile.d/conda.sh") + inline_hook_source = True def _update_prompt(self, set_vars, conda_prompt_modifier): - ps1 = os.getenv("PS1", "") -@@ -1186,13 +1180,7 @@ class CshActivator(_Activator): +@@ -956,13 +950,7 @@ class CshActivator(_Activator): set_var_tmpl = "set %s='%s'" - run_script_tmpl = 'source "%s"' + run_script_tmpl = "source \"`cygpath '%s'`\"" if on_win else 'source "%s"' - hook_source_path = Path( - CONDA_PACKAGE_ROOT, @@ -29,19 +29,19 @@ index 9e487a0..6833adb 100644 - "conda.csh", - ) + hook_source_path = Path("/etc/profile.d/conda.csh") - - def _update_prompt(self, set_vars, conda_prompt_modifier): - prompt = os.getenv("prompt", "") -@@ -1248,7 +1236,7 @@ class XonshActivator(_Activator): + # TCSH/CSH removes newlines when doing command substitution (see `man tcsh`), + # source conda.csh directly and use line terminators to separate commands + inline_hook_source = False +@@ -1001,7 +989,7 @@ class XonshActivator(_Activator): else 'source-bash --suppress-skip-message -n "%s"' ) - hook_source_path = Path(CONDA_PACKAGE_ROOT, "shell", "conda.xsh") + hook_source_path = Path("/etc/profile.d/conda.xsh") + inline_hook_source = True - def _hook_preamble(self) -> str: - return f'$CONDA_EXE = "{self.path_conversion(context.conda_exe)}"' -@@ -1289,14 +1277,7 @@ class FishActivator(_Activator): + def template_path_var(self, key: str, value: str) -> str: +@@ -1055,14 +1043,7 @@ class FishActivator(_Activator): set_var_tmpl = 'set -g %s "%s"' run_script_tmpl = 'source "%s"' @@ -54,19 +54,19 @@ index 9e487a0..6833adb 100644 - "conda.fish", - ) + hook_source_path = Path("/etc/fish/conf.d/conda.fish") + inline_hook_source = True + - def _hook_preamble(self) -> str: - if on_win: diff --git a/conda/base/context.py b/conda/base/context.py -index 9542d3e..9376108 100644 +index adf6d6e..612ea4a 100644 --- a/conda/base/context.py +++ b/conda/base/context.py -@@ -797,7 +797,7 @@ class Context(Configuration): - def av_data_dir(self): +@@ -848,7 +848,7 @@ class Context(Configuration): + def av_data_dir(self) -> PathType: """Where critical artifact verification data (e.g., various public keys) can be found.""" # TODO (AV): Find ways to make this user configurable? - return join(self.conda_prefix, "etc", "conda") + return '/etc/conda' @property - def signing_metadata_url_base(self): + def signing_metadata_url_base(self) -> str | None: diff --git a/14117.patch b/14117.patch deleted file mode 100644 index bd8fbd7..0000000 --- a/14117.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 62196c897df3d7aea7063d0c08d1bf6e6fd91600 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Fri, 2 Aug 2024 08:50:43 -0400 -Subject: [PATCH] Adapt for logging lock internal changes in Python 3.13 - ---- - conda/common/io.py | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/conda/common/io.py b/conda/common/io.py -index 91f37e144d0..d3b655e47f4 100644 ---- a/conda/common/io.py -+++ b/conda/common/io.py -@@ -269,11 +269,16 @@ def argv(args_list): - - @contextmanager - def _logger_lock(): -- logging._acquireLock() -+ try: -+ # Python 3.13+ -+ acquire, release = logging._prepareFork, logging._afterFork -+ except AttributeError: -+ acquire, release = logging._acquireLock, logging._releaseLock -+ acquire() - try: - yield - finally: -- logging._releaseLock() -+ release() - - - @contextmanager diff --git a/conda.spec b/conda.spec index df427e2..fcd60a6 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 24.11.3 +Version: 25.11.0 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager @@ -16,8 +16,6 @@ Source1: https://raw.githubusercontent.com/tartansandal/conda-bash-comple Patch0: 0001-conda_sys_prefix.patch.patch # Use main entry point for conda and re-add conda-env entry point, no need to run conda init Patch1: 0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch -# Python 3.13 lock support -Patch4: https://github.com/conda/conda/pull/14117.patch Patch10004: 0004-Do-not-try-to-run-usr-bin-python.patch Patch10005: 0005-Fix-failing-tests-in-test_api.py.patch @@ -28,13 +26,13 @@ BuildArch: noarch BuildRequires: pkgconfig(bash-completion) %global bash_completionsdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null || echo '/etc/bash_completion.d') BuildRequires: sed +# For man pages +BuildRequires: python-conda-sphinx-theme Requires: python%{python3_pkgversion}-conda = %{version}-%{release} # Removed upstream in favour of calling "conda activate" in version 4.4.0 Obsoletes: conda-activate < 4.4 -%?python_enable_dependency_generator - %global _description %{expand: Conda is a cross-platform, Python-agnostic binary package manager. It @@ -65,12 +63,16 @@ Summary: %{summary} BuildRequires: python%{python3_pkgversion}-devel # For tests BuildRequires: python-unversioned-command +BuildRequires: python%{python3_pkgversion}-boltons BuildRequires: python%{python3_pkgversion}-boto3 +BuildRequires: python%{python3_pkgversion}-conda-libmamba-solver BuildRequires: python%{python3_pkgversion}-flask BuildRequires: python%{python3_pkgversion}-jsonpatch +BuildRequires: python%{python3_pkgversion}-libmambapy BuildRequires: python%{python3_pkgversion}-pexpect BuildRequires: python%{python3_pkgversion}-pytest-mock BuildRequires: python%{python3_pkgversion}-pytest-rerunfailures +BuildRequires: python%{python3_pkgversion}-pytest-split BuildRequires: python%{python3_pkgversion}-pytest-timeout BuildRequires: python%{python3_pkgversion}-pytest-xprocess BuildRequires: python%{python3_pkgversion}-responses @@ -80,8 +82,6 @@ Provides: bundled(python%{python3_pkgversion}-appdirs) = 1.2.0 Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 Provides: bundled(python%{python3_pkgversion}-boltons) = 21.0.0 -%{?python_provide:%python_provide python%{python3_pkgversion}-conda} - %description -n python%{python3_pkgversion}-conda %_description %prep @@ -93,11 +93,6 @@ sed -i -e '/ruamel.yaml/s/,<[0-9.]*//' pyproject.toml # pytest-split/xdoctest not packaged, store-duration not needed sed -i -e '/splitting-algorithm/d' -e '/store-durations/d' -e '/xdoctest/d' pyproject.toml -# Use system versions -rm -r conda/_vendor/frozendict -find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(frozendict.*\) import/\1from \2 import/' -sed -i -e '/^dependencies = /a\ \ "frozendict",' pyproject.toml - # Unpackaged - use vendored version sed -i -e '/"boltons *>/d' pyproject.toml @@ -174,7 +169,61 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # test_ProgressiveFetchExtract_prefers_conda_v2_format, test_subdir_data_prefers_conda_to_tar_bz2, # test_use_only_tar_bz2 fail in F31 koji, but not with mock --enablerepo=local. Let's disable # them for now. +# tests/base/test_context.py::test_default_activation_prefix - conda.exceptions.CondaHTTPError # tests/cli/test_all_commands.py::test_denylist_channels - conda.exceptions.EnvironmentLocationNotFound: Not a conda environment: /usr +# tests/cli/test_cli_install.py::test_frozen_env_cep22[libmamba] - conda.exceptions.CondaHTTPError +# tests/cli/test_cli_install.py::test_frozen_env_cep22[classic] - conda.exceptions.CondaHTTPError +# Unsure - but perhaps config does not has a subdir? +# tests/cli/test_common.py::test_validate_subdir_config - TypeError: expected str, bytes or os.PathLike object, not NoneType +# tests/cli/test_common.py::test_validate_subdir_config_invalid_subdir - TypeError: argument should be a str or an os.PathLike object where __fspath__ returns a str, not 'NoneType' +# Would need an installed conda to test +# tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[bash-expected_patterns0] - FileNotFoundError: [Errno 2] No such file or directory: '/etc/profile.d/conda.sh' +# tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[zsh-expected_patterns1] - FileNotFoundError: [Errno 2] No such file or directory: '/etc/profile.d/conda.sh' +# tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[fish-expected_patterns2] - FileNotFoundError: [Errno 2] No such file or directory: '/etc/fish/conf.d/conda.fish' +# tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[xonsh-expected_patterns5] - FileNotFoundError: [Errno 2] No such file or directory: '/etc/profile.d/conda.xsh' +# tests/cli/test_main_export.py::test_export_preserves_channels_from_installed_packages - AssertionError: Expected to find conda-forge or defaults in channels: ['https://conda.anaconda.org/conda-forge'] +# tests/cli/test_main_export.py::test_export_package_alphabetical_ordering - AssertionError: Should have multiple packages for ordering test +# tests/cli/test_main_export.py::test_export_no_builds_format - AssertionError: Should have conda packages to test +# tests/cli/test_main_export.py::test_export_regular_format_consistency - AssertionError: Should have conda packages to test +# tests/cli/test_main_export.py::test_export_pip_dependencies_handling[environment-yaml-yaml_safe_load] - AssertionError: Should have conda dependencies +# tests/cli/test_main_export.py::test_export_pip_dependencies_handling[environment-json-loads] - AssertionError: Should have conda dependencies +# tests/cli/test_main_export.py::test_export_with_pip_dependencies_integration[YAML--yaml_safe_load] - conda.exceptions.CondaHTTPError +# tests/cli/test_main_export.py::test_export_with_pip_dependencies_integration[JSON---format=json-loads] - conda.exceptions.CondaHTTPError +# tests/cli/test_main_export.py::test_export_explicit_format_validation_errors - conda.exceptions.CondaHTTPError +# tests/cli/test_main_export.py::test_export_multiple_platforms - conda.exceptions.CondaHTTPError +# tests/cli/test_main_export.py::test_export_single_platform_different_platform - conda.exceptions.CondaHTTPError +# The /usr base env does not have last_modified +# tests/cli/test_main_info.py::test_info_json - AssertionError: assert False +# tests/cli/test_main_install.py::test_build_version_shows_as_changed - conda.exceptions.CondaHTTPError +# tests/cli/test_main_list.py::test_fields_all - conda.exceptions.DirectoryNotACondaEnvironmentError: The target directory exists, but it is not a conda environment. +# tests/cli/test_main_list.py::test_fields_invalid - conda.exceptions.DirectoryNotACondaEnvironmentError: The target directory exists, but it is not a conda environment. +# tests/cli/test_main_list.py::test_exit_codes - conda.exceptions.DirectoryNotACondaEnvironmentError: The target directory exists, but it is not a conda environment. +# tests/cli/test_main_update.py::test_update - conda.exceptions.CondaHTTPError +# tests/cli/test_main_update.py::test_dont_update_packages_with_version_constraints - conda.exceptions.NoBaseEnvironmentError: This conda installation has no default base environment. Use +# tests/core/test_prefix_data.py::test_get_packages_behavior_with_interoperability - conda.exceptions.CondaHTTPError +# tests/core/test_prefix_data.py::test_empty_environment_package_methods - conda.exceptions.CondaHTTPError +# tests/core/test_prefix_data.py::test_pinned_specs_conda_meta_pinned - conda.exceptions.CondaHTTPError +# tests/core/test_solve.py::test_pinned_specs_conda_meta_pinned[libmamba] - conda.exceptions.CondaHTTPError +# tests/core/test_solve.py::test_pinned_specs_condarc[libmamba] - conda.exceptions.CondaHTTPError +# tests/core/test_solve.py::test_pinned_specs_all[libmamba] - conda.exceptions.CondaHTTPError +# These are HTTP errors +# tests/env/installers/test_conda_installer_explicit.py::test_installer_installs_explicit - conda.CondaMultiError +# tests/env/specs/test_explicit.py::test_environment - conda.CondaMultiError +# tests/env/test_create.py::test_create_env_from_non_existent_plugin - conda.exceptions.CondaHTTPError +# tests/models/test_environment.py::test_extrapolate - conda.exceptions.CondaHTTPError +# tests/models/test_environment.py::test_explicit_packages - conda.CondaMultiError +# tests/plugins/subcommands/doctor/test_health_checks.py::test_pinned_will_formatted_check[-\u2705] - conda.exceptions.CondaHTTPError +# tests/plugins/subcommands/doctor/test_health_checks.py::test_pinned_will_formatted_check[conda 1.11-\u2705] - conda.exceptions.CondaHTTPError +# tests/plugins/subcommands/doctor/test_health_checks.py::test_pinned_will_formatted_check[conda 1.11, otherpackages==1-\u274c] - conda.exceptions.CondaHTTPError +# tests/plugins/subcommands/doctor/test_health_checks.py::test_pinned_will_formatted_check["conda"-\u274c] - conda.exceptions.CondaHTTPError +# tests/plugins/subcommands/doctor/test_health_checks.py::test_pinned_will_formatted_check[imnotinstalledyet-\u274c] - conda.exceptions.CondaHTTPError +# tests/plugins/subcommands/doctor/test_health_checks.py::test_file_locking_supported[True] - conda.exceptions.DirectoryNotACondaEnvironmentError: The target directory exists, but it is not a conda environment. +# tests/plugins/subcommands/doctor/test_health_checks.py::test_file_locking_supported[False] - conda.exceptions.DirectoryNotACondaEnvironmentError: The target directory exists, but it is not a conda environment. +# tests/plugins/subcommands/doctor/test_health_checks.py::test_file_locking_not_supported - conda.exceptions.DirectoryNotACondaEnvironmentError: The target directory exists, but it is not a conda environment. +# tests/plugins/test_transaction_hooks.py::test_transaction_hooks_invoked - conda.exceptions.CondaHTTPError +# These are network errors +# tests/plugins/test_transaction_hooks.py::test_pre_transaction_raises_exception - AssertionError: Regex pattern did not match. +# tests/plugins/test_transaction_hooks.py::test_post_transaction_raises_exception - AssertionError: Regex pattern did not match. # tests/cli/test_conda_argparse.py::test_list_through_python_api does not recognize /usr as a conda environment # tests/cli/test_main_{clean,info,install,list,list_reverse,rename}.py tests require network access # tests/cli/test_main_notices.py::test_notices_appear_once_when_running_decorated_commands needs a conda_build fixture that we remove @@ -214,13 +263,15 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} conda info # tests/testing/test_fixtures.py::test_env - requires network tests to succeed # tests/testing/test_fixtures.py::test_tmp_channel - requires network access # tests/trust/test_signature_verification.py requires conda_content_trust - not yet packaged -py.test-%{python3_version} -vv -m "not integration" \ +py.test-%{python3_version} -vv -rfs -m "not integration" \ --deselect=tests/test_activate.py::test_activate_same_environment \ --deselect=tests/test_activate.py::test_build_activate_dont_activate_unset_var \ + --deselect=tests/test_activate.py::test_build_activate_dont_use_PATH \ --deselect=tests/test_activate.py::test_build_activate_restore_unset_env_vars \ --deselect=tests/test_activate.py::test_build_activate_shlvl_warn_clobber_vars \ --deselect=tests/test_activate.py::test_build_activate_shlvl_0 \ --deselect=tests/test_activate.py::test_build_activate_shlvl_1 \ + --deselect=tests/test_activate.py::test_build_deactivate_dont_use_PATH \ --deselect=tests/test_activate.py::test_build_deactivate_shlvl_2_from_stack \ --deselect=tests/test_activate.py::test_build_deactivate_shlvl_2_from_activate \ --deselect=tests/test_activate.py::test_build_deactivate_shlvl_1 \ @@ -239,6 +290,52 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/test_install.py::test_install_mkdir \ --deselect=tests/test_misc.py::test_explicit_missing_cache_entries \ --ignore=tests/env/specs/test_binstar.py \ + --deselect=tests/base/test_context.py::test_default_activation_prefix \ + --deselect=tests/cli/test_cli_install.py::test_frozen_env_cep22[libmamba] \ + --deselect=tests/cli/test_cli_install.py::test_frozen_env_cep22[classic] \ + --deselect=tests/cli/test_common.py::test_validate_subdir_config \ + --deselect=tests/cli/test_common.py::test_validate_subdir_config_invalid_subdir \ + --deselect=tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[bash-expected_patterns0] \ + --deselect=tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[zsh-expected_patterns1] \ + --deselect=tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[fish-expected_patterns2] \ + --deselect=tests/cli/test_main.py::test_main_sourced_unix_shells_no_line_ending_fix[xonsh-expected_patterns5] \ + --deselect=tests/cli/test_main_export.py::test_export_preserves_channels_from_installed_packages \ + --deselect=tests/cli/test_main_export.py::test_export_package_alphabetical_ordering \ + --deselect=tests/cli/test_main_export.py::test_export_no_builds_format \ + --deselect=tests/cli/test_main_export.py::test_export_regular_format_consistency \ + --deselect=tests/cli/test_main_export.py::test_export_pip_dependencies_handling[environment-yaml-yaml_safe_load] \ + --deselect=tests/cli/test_main_export.py::test_export_pip_dependencies_handling[environment-json-loads] \ + --deselect=tests/cli/test_main_export.py::test_export_with_pip_dependencies_integration[YAML--yaml_safe_load] \ + --deselect=tests/cli/test_main_export.py::test_export_with_pip_dependencies_integration[JSON---format=json-loads] \ + --deselect=tests/cli/test_main_export.py::test_export_explicit_format_validation_errors \ + --deselect=tests/cli/test_main_export.py::test_export_multiple_platforms \ + --deselect=tests/cli/test_main_export.py::test_export_single_platform_different_platform \ + --deselect=tests/cli/test_main_install.py::test_build_version_shows_as_changed \ + --deselect=tests/cli/test_main_list.py::test_fields_all \ + --deselect=tests/cli/test_main_list.py::test_fields_invalid \ + --deselect=tests/cli/test_main_list.py::test_exit_codes \ + --deselect=tests/cli/test_main_update.py::test_update \ + --deselect=tests/cli/test_main_update.py::test_dont_update_packages_with_version_constraints \ + --deselect=tests/core/test_prefix_data.py::test_get_packages_behavior_with_interoperability \ + --deselect=tests/core/test_prefix_data.py::test_empty_environment_package_methods \ + --deselect=tests/core/test_prefix_data.py::test_pinned_specs_conda_meta_pinned \ + --deselect=tests/core/test_prefix_data.py::test_unset_reserved_env_vars \ + --deselect=tests/core/test_prefix_data.py::test_warn_setting_reserved_env_vars \ + --deselect=tests/core/test_solve.py::test_pinned_specs_conda_meta_pinned[libmamba] \ + --deselect=tests/core/test_solve.py::test_pinned_specs_condarc[libmamba] \ + --deselect=tests/core/test_solve.py::test_pinned_specs_all[libmamba] \ + --deselect=tests/env/installers/test_conda_installer_explicit.py::test_installer_installs_explicit \ + --deselect=tests/env/specs/test_explicit.py::test_environment \ + --deselect=tests/env/test_create.py::test_create_env_from_non_existent_plugin \ + --deselect=tests/models/test_environment.py::test_extrapolate \ + --deselect=tests/models/test_environment.py::test_explicit_packages \ + --deselect=tests/plugins/subcommands/doctor/test_health_checks.py::test_pinned_will_formatted_check \ + --deselect=tests/plugins/subcommands/doctor/test_health_checks.py::test_file_locking_supported[True] \ + --deselect=tests/plugins/subcommands/doctor/test_health_checks.py::test_file_locking_supported[False] \ + --deselect=tests/plugins/subcommands/doctor/test_health_checks.py::test_file_locking_not_supported \ + --deselect=tests/plugins/test_transaction_hooks.py::test_transaction_hooks_invoked \ + --deselect=tests/plugins/test_transaction_hooks.py::test_pre_transaction_raises_exception \ + --deselect=tests/plugins/test_transaction_hooks.py::test_post_transaction_raises_exception \ --deselect=tests/cli/test_all_commands.py::test_denylist_channels \ --deselect='tests/cli/test_common.py::test_is_active_prefix[active_prefix-True]' \ --deselect=tests/cli/test_config.py::test_conda_config_describe \ @@ -248,6 +345,7 @@ py.test-%{python3_version} -vv -m "not integration" \ --deselect=tests/cli/test_main_clean.py \ --deselect=tests/cli/test_main_info.py::test_info_python_output \ --deselect=tests/cli/test_main_info.py::test_info_conda_json \ + --deselect=tests/cli/test_main_info.py::test_info_json \ --deselect=tests/cli/test_main_install.py::test_conda_pip_interop_dependency_satisfied_by_pip \ --deselect=tests/cli/test_main_install.py::test_install_from_extracted_package \ --deselect=tests/cli/test_main_install.py::test_install_mkdir \ diff --git a/sources b/sources index a2aa5f8..d1a78dd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-24.11.3.tar.gz) = e6bf3a18aa44894243e44140ab2f9911f405d9fc8c518cbdb8eccf5cf4051df7326748e7b03649c3941a854b09b87bbb176632310bb92e5303308fc07d4a4cc6 +SHA512 (conda-25.11.0.tar.gz) = 3ff1534d082fb9d67e1781f6ab04b5b29625cb6e2c38076417ed902c22cc150f1cb689e422be0978e43a750fbcb01c02b5264c9a95fe303ac73a34894059a5d9 From 3d686dc69a69579f03388503e0a91c2aba78dcc7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 27 Nov 2025 12:01:55 -0700 Subject: [PATCH 54/56] Fix dependencies and bundled versions --- conda.spec | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/conda.spec b/conda.spec index fcd60a6..775e136 100644 --- a/conda.spec +++ b/conda.spec @@ -77,10 +77,8 @@ BuildRequires: python%{python3_pkgversion}-pytest-timeout BuildRequires: python%{python3_pkgversion}-pytest-xprocess BuildRequires: python%{python3_pkgversion}-responses -# Some versions in conda/_vendor/vendor.txt -Provides: bundled(python%{python3_pkgversion}-appdirs) = 1.2.0 +# conda uses a modified version of auxlib Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 -Provides: bundled(python%{python3_pkgversion}-boltons) = 21.0.0 %description -n python%{python3_pkgversion}-conda %_description @@ -93,9 +91,6 @@ sed -i -e '/ruamel.yaml/s/,<[0-9.]*//' pyproject.toml # pytest-split/xdoctest not packaged, store-duration not needed sed -i -e '/splitting-algorithm/d' -e '/store-durations/d' -e '/xdoctest/d' pyproject.toml -# Unpackaged - use vendored version -sed -i -e '/"boltons *>/d' pyproject.toml - # Unpackaged - really only applicable for macOS/Windows? sed -i -e '/"truststore *>/d' pyproject.toml From c81db4c15e643d79e0f62772f8b6ddc88e1a3886 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 7 Dec 2025 10:51:37 -0700 Subject: [PATCH 55/56] Re-enable dep on conda-libmamba-solver --- conda.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conda.spec b/conda.spec index 775e136..601bfef 100644 --- a/conda.spec +++ b/conda.spec @@ -85,6 +85,9 @@ Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 %prep %autosetup -p1 +# Re-enable dep on conda-libmamba-solver +sed -i -e '/"conda-libmamba-solver/s/# *//' pyproject.toml + # Do not restrict upper bound of ruamel-yaml sed -i -e '/ruamel.yaml/s/,<[0-9.]*//' pyproject.toml From 5867b044fe200c247503a029ff388f457669283f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 12 Dec 2025 07:54:53 -0700 Subject: [PATCH 56/56] Update to 25.11.1 --- conda.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.spec b/conda.spec index 601bfef..5e7e2c3 100644 --- a/conda.spec +++ b/conda.spec @@ -1,7 +1,7 @@ %bcond_without tests Name: conda -Version: 25.11.0 +Version: 25.11.1 Release: %autorelease Summary: Cross-platform, Python-agnostic binary package manager diff --git a/sources b/sources index d1a78dd..28be694 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-25.11.0.tar.gz) = 3ff1534d082fb9d67e1781f6ab04b5b29625cb6e2c38076417ed902c22cc150f1cb689e422be0978e43a750fbcb01c02b5264c9a95fe303ac73a34894059a5d9 +SHA512 (conda-25.11.1.tar.gz) = ce04c8805ca51047cf1e1ebb945fcce1fbb559fe472d4f5fb4217d49b93b67c8e38baf735c6a9244b31d559247ec10d46e1e33caf8ac7fedc105ce3645121609