diff --git a/0001-Fix-toolz-imports.patch b/0001-Fix-toolz-imports.patch new file mode 100644 index 0000000..17b3a10 --- /dev/null +++ b/0001-Fix-toolz-imports.patch @@ -0,0 +1,84 @@ +commit 013faf85bb376f031f438ad6d9584be0254a76d2 +Author: rpm-build +Date: Sat Mar 30 20:53:32 2019 -0600 + + [PATCH] Fix toolz imports + + conda._vendor.toolz.__init__.py now does the dispatch to either + the real thing or the vendored copy. But the package structure is + flattened, so the subpackage names should not be used. Without that, + the vendored copy was always imported. + +diff --git a/conda_env/env.py b/conda_env/env.py +index b8129b1..7670b90 100644 +--- a/conda_env/env.py ++++ b/conda_env/env.py +@@ -14,15 +14,10 @@ from conda.core.prefix_data import PrefixData + from conda.models.enums import PackageType + from conda.models.match_spec import MatchSpec + from conda.models.prefix_graph import PrefixGraph ++from conda._vendor.toolz import concatv, groupby + from conda_env.yaml import dump + from . import compat, exceptions, yaml + +-try: +- from cytoolz.itertoolz import concatv, groupby +-except ImportError: # pragma: no cover +- from conda._vendor.toolz.itertoolz import concatv, groupby # NOQA +- +- + VALID_KEYS = ('name', 'dependencies', 'prefix', 'channels') + + +diff --git a/tests/base/test_context.py b/tests/base/test_context.py +index a0b7660..d54df02 100644 +--- a/tests/base/test_context.py ++++ b/tests/base/test_context.py +@@ -11,7 +11,7 @@ import pytest + + from conda._vendor.auxlib.collection import AttrDict + from conda._vendor.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, reset_context, conda_tests_ctxt_mgmt_def_pol + from conda.common.compat import odict, iteritems +diff --git a/tests/core/test_path_actions.py b/tests/core/test_path_actions.py +index 0c726c9..c3ba3c4 100644 +--- a/tests/core/test_path_actions.py ++++ b/tests/core/test_path_actions.py +@@ -11,7 +11,7 @@ from uuid import uuid4 + import pytest + + from conda._vendor.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 PY2, 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 980edd3..9ed4872 100644 +--- a/tests/test_activate.py ++++ b/tests/test_activate.py +@@ -14,7 +14,7 @@ from conda import __version__ as conda_version + + from conda import CONDA_PACKAGE_ROOT + from conda._vendor.auxlib.ish import dals +-from conda._vendor.toolz.itertoolz import concatv ++from conda._vendor.toolz import concatv + from conda.activate import CmdExeActivator, CshActivator, FishActivator, PosixActivator, \ + PowerShellActivator, XonshActivator, activator_map, main as activate_main, native_path_to_unix + from conda.base.constants import ROOT_ENV_NAME +diff --git a/tests/test_create.py b/tests/test_create.py +index 8428fd2..b5b62f6 100644 +--- a/tests/test_create.py ++++ b/tests/test_create.py +@@ -6,7 +6,7 @@ from datetime import datetime + from glob import glob + + from conda._vendor.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.models.channel import Channel + from conda.resolve import Resolve diff --git a/0001-conda_sys_prefix.patch.patch b/0001-conda_sys_prefix.patch.patch deleted file mode 100644 index 6e2c646..0000000 --- a/0001-conda_sys_prefix.patch.patch +++ /dev/null @@ -1,25 +0,0 @@ -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 4245cae..a436b1d 100644 ---- a/conda/__init__.py -+++ b/conda/__init__.py -@@ -54,7 +54,7 @@ __summary__ = __doc__ - __url__ = "https://github.com/conda/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__)) --- -2.45.2 - diff --git a/0002-Adjust-ruamel.yaml-imports.patch b/0002-Adjust-ruamel.yaml-imports.patch new file mode 100644 index 0000000..e37ba17 --- /dev/null +++ b/0002-Adjust-ruamel.yaml-imports.patch @@ -0,0 +1,38 @@ +commit 40a3c3c80c78a1086c376b71e1e4c352f9a1d244 +Author: rpm-build +Date: Sat Mar 30 20:56:58 2019 -0600 + + [PATCH] Adjust ruamel.yaml imports + + This is how it's called in Fedora. + +diff --git a/conda/common/configuration.py b/conda/common/configuration.py +index 87c36ef..cda042f 100644 +--- a/conda/common/configuration.py ++++ b/conda/common/configuration.py +@@ -47,9 +47,9 @@ from .._vendor.boltons.setutils import IndexedSet + from .._vendor.toolz import concat, concatv, excepts, merge, unique + + try: # pragma: no cover +- from ruamel_yaml.comments import CommentedSeq, CommentedMap +- from ruamel_yaml.reader import ReaderError +- from ruamel_yaml.scanner import ScannerError ++ from ruamel.yaml.comments import CommentedSeq, CommentedMap ++ from ruamel.yaml.reader import ReaderError ++ from ruamel.yaml.scanner import ScannerError + except ImportError: # pragma: no cover + from ruamel.yaml.comments import CommentedSeq, CommentedMap # pragma: no cover + from ruamel.yaml.reader import ReaderError +diff --git a/conda/common/serialize.py b/conda/common/serialize.py +index 479521e..6411c6c 100644 +--- a/conda/common/serialize.py ++++ b/conda/common/serialize.py +@@ -16,7 +16,7 @@ log = getLogger(__name__) + @memoize + def get_yaml(): + try: +- import ruamel_yaml as yaml ++ import ruamel.yaml as yaml + except ImportError: # pragma: no cover + try: + import ruamel.yaml as yaml 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 deleted file mode 100644 index 3d3d298..0000000 --- a/0002-Use-main-entry-point-for-conda-and-re-add-conda-env-.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f8f9a23a2a7540ec39cab9606f8b95aa8b346b65 Mon Sep 17 00:00:00 2001 -From: rpm-build -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 - ---- - pyproject.toml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index 7c8f24f..049859b 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -51,7 +51,8 @@ readme = "README.md" - requires-python = ">=3.10" - - [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.51.1 - diff --git a/0003-Drop-fs-path-encoding-manipulation-under-python2.patch b/0003-Drop-fs-path-encoding-manipulation-under-python2.patch new file mode 100644 index 0000000..b588744 --- /dev/null +++ b/0003-Drop-fs-path-encoding-manipulation-under-python2.patch @@ -0,0 +1,23 @@ +commit 1f21cf4dd33e4d62f3dca93294bfa5508a2591ab +Author: rpm-build +Date: Sat Mar 30 20:59:05 2019 -0600 + + [PATCH] Drop fs path encoding manipulation under python2 + +diff --git a/conda/activate.py b/conda/activate.py +index e515c0e..3632a61 100644 +--- a/conda/activate.py ++++ b/conda/activate.py +@@ -63,11 +63,7 @@ class _Activator(object): + def __init__(self, arguments=None): + self._raw_arguments = arguments + +- if PY2: +- self.environ = {ensure_fs_path_encoding(k): ensure_fs_path_encoding(v) +- for k, v in iteritems(os.environ)} +- else: +- self.environ = os.environ.copy() ++ self.environ = os.environ.copy() + + # Once Python2 dies odargs can become kwargs again since dicts are ordered since 3.6. + def get_export_unset_vars(self, odargs): 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 f747eb0..4afd0f1 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,42 @@ -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 sys +From cccc709c085890633be767a44465229d049d5941 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 13 Feb 2019 13:06:36 +0100 +Subject: [PATCH] Do not try to run /usr/bin/python + +On modern linux distros, /usr/bin/python will usually either +refer to python2 or not exists at all. Use sys.executable to +run subprocess calls with the same python executable as the +parent process. +--- + conda/common/path.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/conda/common/path.py b/conda/common/path.py +index b51f7f272d..06e0b4bc9a 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 reduce from logging import getLogger - from os.path import join, split, splitext - -@@ -52,9 +53,11 @@ def parse_entry_point_def(ep_definition) + import os ++import sys + 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): 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) def get_python_site_packages_short_path(python_version): +-- +2.19.2 + diff --git a/0005-Fix-failing-tests-in-test_api.py.patch b/0005-Fix-failing-tests-in-test_api.py.patch index b5e2f95..7434f7b 100644 --- a/0005-Fix-failing-tests-in-test_api.py.patch +++ b/0005-Fix-failing-tests-in-test_api.py.patch @@ -1,5 +1,21 @@ +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 dd6a7b9..c60d1a1 100644 +index 3ca97be734..e866e82fd3 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -224,7 +224,7 @@ def test_PackageCacheData_return_value_contract(): @@ -11,7 +27,7 @@ index dd6a7b9..c60d1a1 100644 first_writable_result = PackageCacheData.first_writable() assert isinstance(first_writable_result, PackageCacheData) -@@ -265,13 +265,14 @@ def test_PrefixData_contract(): +@@ -269,20 +269,21 @@ def test_PrefixData_contract(): def test_PrefixData_return_value_contract(): pd = PrefixData(context.conda_prefix) @@ -23,17 +39,16 @@ index dd6a7b9..c60d1a1 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) -@@ -280,7 +281,7 @@ def test_PrefixData_return_value_contract(): - ) + assert all(isinstance(prefix_rec, PrefixRecord) for prefix_rec in iter_records_result) is_writable_result = pd.is_writable - assert is_writable_result is True or is_writable_result is False @@ -41,3 +56,6 @@ index dd6a7b9..c60d1a1 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 deleted file mode 100644 index 68c60df..0000000 --- a/0006-shell-assume-shell-plugins-are-in-etc.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/conda/activate.py b/conda/activate.py -index f79a03f..951bed4 100644 ---- a/conda/activate.py -+++ b/conda/activate.py -@@ -914,13 +914,7 @@ class PosixActivator(_Activator): - set_var_tmpl = "%s='%s'" - run_script_tmpl = ". \"`cygpath '%s'`\"" if on_win else '. "%s"' - -- hook_source_path = Path( -- CONDA_PACKAGE_ROOT, -- "shell", -- "etc", -- "profile.d", -- "conda.sh", -- ) -+ hook_source_path = Path("/etc/profile.d/conda.sh") - inline_hook_source = True - - def _update_prompt(self, set_vars, conda_prompt_modifier): -@@ -956,13 +950,7 @@ class CshActivator(_Activator): - set_var_tmpl = "set %s='%s'" - run_script_tmpl = "source \"`cygpath '%s'`\"" if on_win else 'source "%s"' - -- hook_source_path = Path( -- CONDA_PACKAGE_ROOT, -- "shell", -- "etc", -- "profile.d", -- "conda.csh", -- ) -+ hook_source_path = Path("/etc/profile.d/conda.csh") - # 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 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"' - -- hook_source_path = Path( -- CONDA_PACKAGE_ROOT, -- "shell", -- "etc", -- "fish", -- "conf.d", -- "conda.fish", -- ) -+ hook_source_path = Path("/etc/fish/conf.d/conda.fish") - inline_hook_source = True - - -diff --git a/conda/base/context.py b/conda/base/context.py -index adf6d6e..612ea4a 100644 ---- a/conda/base/context.py -+++ b/conda/base/context.py -@@ -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) -> str | None: diff --git a/changelog b/changelog deleted file mode 100644 index bbd1d34..0000000 --- a/changelog +++ /dev/null @@ -1,202 +0,0 @@ -* Wed Jul 21 2021 Fedora Release Engineering - 4.10.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 4.10.1-2 -- Rebuilt for Python 3.10 - -* Thu Apr 15 2021 Orion Poplawski - 4.10.1-1 -- Update to 4.10.1 - -* Fri Apr 02 2021 Orion Poplawski - 4.10.0-1 -- Update to 4.10.0 - -* Tue Jan 26 2021 Orion Poplawski - 4.9.2-3 -- Add patch to support python 3.10 - -* Tue Jan 26 2021 Fedora Release Engineering - 4.9.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Nov 11 2020 Orion Poplawski - 4.9.2-1 -- Update to 4.9.2 - -* Tue Oct 27 2020 Orion Poplawski - 4.9.1-1 -- Update to 4.9.1 - -* Sun Oct 18 2020 Orion Poplawski - 4.9.0-1 -- Update to 4.9.0 - -* Mon Sep 21 2020 Orion Poplawski - 4.8.5-2 -- Add note to description about base environment - -* Mon Sep 14 2020 Orion Poplawski - 4.8.5-1 -- Update to 4.8.5 -- Install conda.fish (bz#1878306) - -* Sat Aug 08 2020 Orion Poplawski - 4.8.4-1 -- Update to 4.8.4 - -* Sat Aug 01 2020 Fedora Release Engineering - 4.8.3-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 4.8.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue May 26 2020 Miro Hrončok - 4.8.3-2 -- Rebuilt for Python 3.9 - -* Sun Mar 15 2020 Orion Poplawski - 4.8.3-1 -- Update to 4.8.3 - -* Tue Feb 4 2020 Zbigniew Jędrzejewski-Szmek - 4.8.2-2 -- Fix import for python3.9 compatiblity (#1797691) - -* Tue Jan 28 2020 Orion Poplawski - 4.8.2-1 -- Update to 4.8.2 (#1785658) -- Obtain bash completion file from github - tartansandal/conda-bash-completion - -* Mon Jan 20 2020 Orion Poplawski - 4.8.0-2 -- Install bash completion file (bz#1791068) - -* Sat Dec 14 2019 Orion Poplawski - 4.8.0-1 -- Update to 4.8.0 -- Make "conda shell.bash hook" work (bz#1737165) -- Unbundle more libraries - -* Sat Sep 14 2019 Orion Poplawski - 4.7.12-1 -- Update to 4.7.12 - -* Mon Aug 19 2019 Miro Hrončok - 4.7.11-2 -- Rebuilt for Python 3.8 - -* Fri Aug 16 2019 Orion Poplawski - 4.7.11-1 -- Update to 4.7.11 -- Use system py-cpuinfo - -* Fri Aug 16 2019 Orion Poplawski - 4.7.10-2 -- Cleanup requires some (drop crypto, yaml; add pyOpenSSL; - add versions for requests and ruamel-yaml - -* Sat Aug 3 2019 Zbigniew Jędrzejewski-Szmek - 4.7.10-1 -- Fix 'conda shell.* hook' invocations (#1737165) - -* Wed Jul 31 2019 Orion Poplawski - 4.7.10-1 -- Update to 4.7.10 - -* Mon Jul 29 2019 Zbigniew Jędrzejewski-Szmek - 4.7.6-1 -- Update to latest version (#1678578) - -* Wed Jul 24 2019 Fedora Release Engineering - 4.7.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jun 11 2019 Orion Poplawski - 4.7.2-1 -- Update to 4.7.2 - -* Sun Jun 9 2019 Orion Poplawski - 4.7.1-1 -- Update to 4.7.1 - -* Tue Apr 16 2019 Orion Poplawski - 4.6.13-1 -- Update to 4.6.13 - -* Thu Apr 4 2019 Orion Poplawski - 4.6.11-1 -- Update to 4.6.11 - -* Tue Apr 2 2019 Orion Poplawski - 4.6.9-2 -- Fix conda profile scripts -- Do not build for python2 on EPEL -- Ignore test failures on EPEL7 - -* Sat Mar 30 2019 Orion Poplawski - 4.6.9-1 -- Update to 4.6.9 - -* Wed Feb 13 2019 Zbigniew Jędrzejewski-Szmek - 4.6.5-1 -- Update to latest upstream version (#1668145) - -* Thu Jan 31 2019 Fedora Release Engineering - 4.5.12-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Dec 31 2018 Orion Poplawski - 4.5.12-1 -- Update to 4.5.12 - -* Mon Dec 31 2018 Orion Poplawski - 4.5.11-2 -- EPEL7 compatability - -* Fri Sep 21 2018 Zbigniew Jędrzejewski-Szmek - 4.5.11-1 -- Update to latest stable version (#1570217) -- Disable python2 subpackage on F30+ - -* Fri Jul 13 2018 Zbigniew Jędrzejewski-Szmek - 4.4.11-4 -- Pull in python[23]-cytoolz to replace bundled toolz - -* Thu Jul 12 2018 Fedora Release Engineering - 4.4.11-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 4.4.11-3 -- Rebuilt for Python 3.7 - -* Wed Apr 18 2018 Orion Poplawski - 4.4.11-2 -- Set _CONDA_ROOT in /etc/profile.d/conda.csh -- Fix python2 requires -- Require pycosat >= 0.6.3 - -* Sat Apr 14 2018 Zbigniew Jędrzejewski-Szmek - 4.4.11-1 -- Update to latest upstream version in the 4.4.x branch (#1544046) - -* Wed Feb 7 2018 Zbigniew Jędrzejewski-Szmek - 4.4.9-1 -- Update to v4.4.9 (#1542874) -- conda-activate binary rpm is retired. The new way to activate the environment - is to say 'conda activate'. See - https://github.com/conda/conda/releases/tag/4.4.0 for more information. - -* Wed Feb 07 2018 Iryna Shcherbina - 4.3.24-5 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Feb 07 2018 Fedora Release Engineering - 4.3.24-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 4.3.24-3 -- Install just one version of the executables (python 2 or 3) - -* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 4.3.24-2 -- Add all licenses to the License tag -- Add Provides: bundled(...) for all the "vendored" dependencies -- Update descriptions and simplify the spec file a bit -- Move condarc.d directory under /usr/share/conda - -* Thu Aug 3 2017 Zbigniew Jędrzejewski-Szmek - 4.3.24-1 -- Update to latest version -- Switch /usr/bin/conda to python3 - -* Thu Jul 21 2016 Orion Poplawski - 4.1.6-1 -- Update to 4.1.6 - -* Thu Dec 31 2015 Orion Poplawski - 3.19.0-1 -- Update to 3.19.0 - -* Thu Dec 31 2015 Orion Poplawski - 3.18.8-2 -- Add python 3 version - -* Mon Dec 7 2015 Orion Poplawski - 3.18.8-1 -- Update to 3.18.8 - -* Thu Sep 24 2015 Orion Poplawski - 3.17.0-6 -- Do not create broken symlinks if activate/deactivate are not installed -- Do not create /usr/conda-meta to prevent accidental installs into system - -* Thu Sep 24 2015 Orion Poplawski - 3.17.0-5 -- Non-bootstrap build - -* Wed Sep 23 2015 Orion Poplawski - 3.17.0-4 -- Add patch to support rootless mode -- Require python-crypto -- Create /usr/conda-meta, /usr/.condarc, /var/cache/conda - -* Tue Sep 22 2015 Orion Poplawski - 3.17.0-3 -- Require python-requests, python-yaml - -* Tue Sep 22 2015 Orion Poplawski - 3.17.0-2 -- Add patch to allow overriding pkgs_dirs in .condarc - -* Mon Sep 21 2015 Orion Poplawski - 3.17.0-1 -- Initial package diff --git a/conda b/conda deleted file mode 100644 index 37bab57..0000000 --- a/conda +++ /dev/null @@ -1,218 +0,0 @@ -# bash_completion for conda. -# -# This was initially based on completion support for `fish`, but later extended -# complete options for subcommands and files/dirs/paths as appropriate. -# -# Dynamic option lookup uses a cache that persists for the duration of the shell. -# Updates to the conda command options are relatively rare, but there is a small chance -# that this cache will hold incorrect/incomplete values. A restart of your shell will -# fix this. - -# If this completion file is 'installed' under -# -# /etc/bash_completion.d/, -# /usr/share/bash-completion/completions/, or -# ~/.local/share/bash-completion/completions/, -# -# rather than being managed via the `conda shell.bash hook`, then this file may -# be sourced before conda is setup. To support this we allow for a potential -# late initialization of the CONDA_ROOT and CONDA_SOURCE environment -# variables. - -# The extglob option is set by the bash_completion library anyway, -# Setting it here to work around some rare edge cases. -shopt -s extglob - -function __comp_conda_ensure_root() { - if [[ -z "${CONDA_SOURCE-}" && -n "${CONDA_EXE-}" ]] ; then - if [[ -n "${_CE_CONDA-}" && -n "${WINDIR-}" ]]; then - CONDA_ROOT=$(\dirname "${CONDA_EXE}") - else - CONDA_ROOT=$(\dirname "${CONDA_EXE}") - CONDA_ROOT=$(\dirname "${CONDA_ROOT}") - fi - \local script=" - : from __future__ import print_function - : import os - : 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") - fi -} - -function __comp_conda_commands () { - # default core commands - echo clean config create help info init install list package - echo remove uninstall run search update upgrade - - # implied by conda shell function - echo activate deactivate - - # check commands from full anaconda install - for f in "$CONDA_SOURCE"/cli/main_*.py - do - # skip pip -- not a sub-command - [[ "$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-* - do - if [[ -x "$f" && ! -d "$f" ]] - then - 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 - do - [[ "$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 - : 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))) - : ) - " - script="${script// : /}" - conda config --json --show envs_dirs | $CONDA_PYTHON_EXE -c "$script" -} - -function __comp_conda_packages() { - conda list | awk 'NR > 3 {print $1}' -} - -function __comp_conda_cmds_str() { - # get a list of commands, skipping options - \local cmd - \local -a cmds - for cmd in "$@"; do - case "$cmd" in - -*) continue ;; - *) cmds+=("$cmd") ;; - esac - done - echo "${cmds[@]}" -} - -# helper for debugging issues with the cache -function __comp_conda_cache_dump() { - for k in "${!__comp_conda_cache[@]}"; do - printf "%s:\n" "$k" - for w in ${__comp_conda_cache[$k]}; do - printf "\t%s\n" "$w" - done - done -} - -function __comp_conda_option_lookup() { - \local word_list cmd_str cmd_key - cmd_str=$1 - - # make a key to look up the cached result of the command help - # (We should be able to just use $cmd_str, since spaces in an array key are fine, - # but this produces an error with an empty cache. I'm not sure why though) - cmd_key=${cmd_str// /_} - - if [[ -z "${__comp_conda_cache[$cmd_key]}" ]]; then - # parse the output of command help to get completions - word_list=$($cmd_str --help 2>&1 | _parse_help -) - if [[ ${PIPESTATUS[0]} -eq 0 && -n $word_list ]]; then - __comp_conda_cache[$cmd_key]=$word_list - else - # something went wrong, so abort completion attempt - return 1 - fi - else - word_list=${__comp_conda_cache[$cmd_key]} - fi - echo "$word_list" -} - -# cache conda subcommand help lookups for the duration of the shell -unset __comp_conda_cache -declare -A __comp_conda_cache - -# If conda has not been fully setup/activated yet, some of the above functions may fail -# and print error messages. This is not helpful during normal usage, so we discard all -# error output by default. -__comp_conda_ensure_root 2>/dev/null || : - -_comp_conda() -{ - # shellcheck disable=SC2034 - \local cur prev words cword - _init_completion || return - - __comp_conda_ensure_root 2>/dev/null - - \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[@]}") - word_list=$(__comp_conda_option_lookup "$cmd_str") - else - case "$prev" in - conda) - word_list=$(__comp_conda_commands 2>/dev/null) - ;; - env) - word_list=$(__comp_conda_env_commands 2>/dev/null) - ;; - activate) - 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) - ;; - --name|--clone) - word_list=$(__comp_conda_envs 2>/dev/null) - ;; - --*-file|--file|--which|convert) - _filedir # filenames - ;; - --*-dir|--*-folder|--subdir|--prefix|--cwd|index) - _filedir -d # directories - ;; - verify|debug) - _filedir 'tar.bz2' # package paths and directories - ;; - build) - _filedir 'tar.bz2' # package paths and directories - word_list='purge purge-all' # special keywords - ;; - esac - fi - if [[ -n $word_list ]]; then - # append completion suggestions to COMPREPLY - mapfile -t -O "${#COMPREPLY[@]}" COMPREPLY < \ - <(compgen -W "$word_list" -- "$cur") - fi -} && -complete -F _comp_conda conda - -# vim: ft=sh diff --git a/conda-py3.10.patch b/conda-py3.10.patch new file mode 100644 index 0000000..0ca895e --- /dev/null +++ b/conda-py3.10.patch @@ -0,0 +1,72 @@ +diff -up conda-4.6.14/conda/common/path.py.~1~ conda-4.6.14/conda/common/path.py +--- conda-4.6.14/conda/common/path.py.~1~ 2022-03-09 12:35:19.791274886 -0700 ++++ conda-4.6.14/conda/common/path.py 2022-03-09 12:35:34.386212879 -0700 +@@ -180,6 +180,8 @@ def get_python_site_packages_short_path( + return 'lib/python%s/site-packages' % py_ver + + ++_VERSION_REGEX = re.compile(r"[0-9]+\.[0-9]+") ++ + def get_major_minor_version(string, with_dot=True): + # returns None if not found, otherwise two digits as a string + # should work for +@@ -189,10 +191,31 @@ def get_major_minor_version(string, with + # - lib/python34/site-packages/ + # the last two are dangers because windows doesn't have version information there + assert isinstance(string, string_types) +- digits = tuple(take(2, (c for c in string if c.isdigit()))) +- if len(digits) == 2: +- return '.'.join(digits) if with_dot else ''.join(digits) +- return None ++ if string.startswith("lib/python"): ++ pythonstr = string.split("/")[1] ++ start = len("python") ++ if len(pythonstr) < start + 2: ++ return None ++ maj_min = pythonstr[start], pythonstr[start+1:] ++ elif string.startswith("bin/python"): ++ pythonstr = string.split("/")[1] ++ start = len("python") ++ if len(pythonstr) < start + 3: ++ return None ++ assert pythonstr[start+1] == "." ++ maj_min = pythonstr[start], pythonstr[start+2:] ++ else: ++ match = _VERSION_REGEX.match(string) ++ if match: ++ version = match.group(0).split(".") ++ maj_min = version[0], version[1] ++ else: ++ digits = "".join([c for c in string if c.isdigit()]) ++ if len(digits) < 2: ++ return None ++ maj_min = digits[0], digits[1:] ++ ++ return ".".join(maj_min) if with_dot else "".join(maj_min) + + + def get_bin_directory_short_path(): +diff -up conda-4.6.14/tests/common/test_path.py.~1~ conda-4.6.14/tests/common/test_path.py +--- conda-4.6.14/tests/common/test_path.py.~1~ 2019-04-17 14:21:14.000000000 -0600 ++++ conda-4.6.14/tests/common/test_path.py 2022-03-09 12:35:34.361212985 -0700 +@@ -118,8 +118,20 @@ def test_get_major_minor_version_no_dot( + assert get_major_minor_version("lib/python34/site-packages/") == "3.4" + assert get_major_minor_version("python3") is None + ++ assert get_major_minor_version("3.10.0") == "3.10" ++ assert get_major_minor_version("310") == "3.10" ++ assert get_major_minor_version("bin/python3.10") == "3.10" ++ assert get_major_minor_version("lib/python310/site-packages/") == "3.10" ++ assert get_major_minor_version("python3") is None ++ + assert get_major_minor_version("3.5.2", False) == "35" + assert get_major_minor_version("27", False) == "27" + assert get_major_minor_version("bin/python2.7", False) == "27" + assert get_major_minor_version("lib/python34/site-packages/", False) == "34" + assert get_major_minor_version("python3", False) is None ++ ++ assert get_major_minor_version("3.10.0", False) == "310" ++ assert get_major_minor_version("310", False) == "310" ++ assert get_major_minor_version("bin/python3.10", False) == "310" ++ assert get_major_minor_version("lib/python310/site-packages/", False) == "310" ++ assert get_major_minor_version("python3", False) is None diff --git a/conda-tests.patch b/conda-tests.patch new file mode 100644 index 0000000..4490454 --- /dev/null +++ b/conda-tests.patch @@ -0,0 +1,13 @@ +diff --git a/tests/test_link_order.py b/tests/test_link_order.py +index 7021065..55b7de0 100644 +--- a/tests/test_link_order.py ++++ b/tests/test_link_order.py +@@ -10,8 +10,6 @@ import tempfile + + from .test_create import run_command, Commands + +-from conda_build import api +- + try: + from unittest.mock import patch + except ImportError: diff --git a/conda.spec b/conda.spec index 5e7e2c3..4211c75 100644 --- a/conda.spec +++ b/conda.spec @@ -1,454 +1,296 @@ -%bcond_without tests +%{!?_with_bootstrap: %global bootstrap 0} Name: conda -Version: 25.11.1 -Release: %autorelease +Version: 4.6.14 +Release: 2%{?dist} Summary: Cross-platform, Python-agnostic binary package manager -License: BSD-3-Clause AND Apache-2.0 -# The conda code is BSD-3-Clause -# adapters/ftp.py is Apache-2.0 +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 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: 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 +# Source0: https://pypi.io/packages/source/c/%%{name}/%%{name}-%%{version}.tar.gz +Patch0: conda_sys_prefix.patch +Patch1: conda_gateways_disk_create.patch +Patch2: setup.patch +Patch3: conda-tests.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 +Patch11: 0001-Fix-toolz-imports.patch +Patch12: 0002-Adjust-ruamel.yaml-imports.patch +Patch13: 0003-Drop-fs-path-encoding-manipulation-under-python2.patch +Patch14: 0004-Do-not-try-to-run-usr-bin-python.patch +Patch15: 0005-Fix-failing-tests-in-test_api.py.patch +# Backport https://github.com/conda/conda/pull/10970 +Patch16: conda-py3.10.patch 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 -is the package manager used by Anaconda installations, but it may be -used for other systems as well. Conda makes environments first-class -citizens, making it easy to create independent environments even for -C libraries. Conda is written entirely in Python. - -The Fedora conda base environment is special. Unlike a standard -anaconda install base environment it is essentially read-only. You -can only use conda to create and manage new environments.} +BuildRequires: /usr/bin/pathfix.py +BuildRequires: sed +%global _description \ +Conda is a cross-platform, Python-agnostic binary package manager. It is the\ +package manager used by Anaconda installations, but it may be used for other\ +systems as well. Conda makes environments first-class citizens, making it easy\ +to create independent environments even for C libraries. Conda is written\ +entirely in Python. %description %_description - -%package tests -Summary: conda tests - -%description tests -Data for conda tests. Set CONDA_TEST_DATA_DIR to -%{_datadir}/conda/tests/data. - +%global _py3_reqs \ + python%{python3_pkgversion}-crypto \ + python%{python3_pkgversion}-distro >= 1.0.4 \ + python%{python3_pkgversion}-pycosat >= 0.6.3 \ + python%{python3_pkgversion}-requests \ + python%{python3_pkgversion}-ruamel-yaml +%global py3_reqs %(c="%_py3_reqs"; echo "$c" | xargs) %package -n python%{python3_pkgversion}-conda Summary: %{summary} BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: %py3_reqs +BuildRequires: python%{python3_pkgversion}-yaml +# 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}-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}-mock +BuildRequires: python%{python3_pkgversion}-pytest-cov BuildRequires: python%{python3_pkgversion}-responses -# conda uses a modified version of auxlib -Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43 +Requires: %py3_reqs +Requires: python%{python3_pkgversion}-yaml +%if 0%{?fedora} || 0%{?rhel} >= 8 +# EPEL7 does not have new enough cytoolz +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}-boltons) = 16.5.1 +Provides: bundled(python%{python3_pkgversion}-six) = 1.10.0 +Provides: bundled(python%{python3_pkgversion}-toolz) = 0.8.2 +Provides: bundled(python%{python3_pkgversion}-urllib3) = 1.19.1 + +%{?python_provide:%python_provide python%{python3_pkgversion}-conda} %description -n python%{python3_pkgversion}-conda %_description %prep %autosetup -p1 -# Re-enable dep on conda-libmamba-solver -sed -i -e '/"conda-libmamba-solver/s/# *//' pyproject.toml +sed -r -i 's/^(__version__ = ).*/\1"%{version}"/' conda/__init__.py -# Do not restrict upper bound of ruamel-yaml -sed -i -e '/ruamel.yaml/s/,<[0-9.]*//' pyproject.toml +# disable some stupid tests which fail with EXDEV +sed -r -i 's/test_trash_outside_prefix/_disabled_\0/' tests/test_install.py +sed -r -i 's/test_move_to_trash|test_move_path_to_trash_couldnt/_disabled_\0/' tests/gateways/disk/test_delete.py -# pytest-split/xdoctest not packaged, store-duration not needed -sed -i -e '/splitting-algorithm/d' -e '/store-durations/d' -e '/xdoctest/d' pyproject.toml +# Skip TestJson.test_list which wants to muck around with /usr. +sed -r -i 's/\btest_list\b/_disabled_\0/' tests/test_cli.py -# Unpackaged - really only applicable for macOS/Windows? -sed -i -e '/"truststore *>/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 -%ifnarch x86_64 -# Tests on 32-bit -cp -a tests/data/conda_format_repo/linux-{64,32} -sed -i -e s/linux-64/linux-32/ tests/data/conda_format_repo/linux-32/*json -# Tests on non-x86_64 -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 +# Replaced by cytools, byte compilation fails under python3.7 +%if 0%{?fedora} || 0%{?rhel} >= 8 +# EPEL7 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]* %endif -# Do not run coverage in pytest -sed -i -e '/"--cov/d' pyproject.toml +# Use system versions +rm -r conda/_vendor/distro.py +find conda -name \*.py | xargs sed -i -e 's/^\( *\)from .*_vendor\.\(\(distro\).*\) import/\1from \2 import/' -%generate_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 +# build conda executable +%define py_setup utils/setup-testing.py +%py3_build %install -%pyproject_install -#py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda -%pyproject_save_files conda* +# install conda executable +%define py_setup utils/setup-testing.py +%py3_install -mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d mkdir -p %{buildroot}%{_datadir}/conda/condarc.d cat >%{buildroot}%{_datadir}/conda/condarc.d/defaults.yaml < - 4.6.14-2 +- Backport fix for python 3.10 support + +* Sun Dec 15 2019 Orion Poplawski - 4.6.14-1 +- Update 4.6.14 +- Make "conda shell.bash hook" work (bz#1737165) +- Unbundle more libraries + +* Tue Apr 16 2019 Orion Poplawski - 4.6.13-1 +- Update to 4.6.13 + +* Thu Apr 4 2019 Orion Poplawski - 4.6.11-1 +- Update to 4.6.11 + +* Tue Apr 2 2019 Orion Poplawski - 4.6.9-2 +- Fix conda profile scripts +- Do not build for python2 on EPEL +- Ignore test failures on EPEL7 + +* Sat Mar 30 2019 Orion Poplawski - 4.6.9-1 +- Update to 4.6.9 + +* Wed Feb 13 2019 Zbigniew Jędrzejewski-Szmek - 4.6.5-1 +- Update to latest upstream version (#1668145) + +* Thu Jan 31 2019 Fedora Release Engineering - 4.5.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Dec 31 2018 Orion Poplawski - 4.5.12-1 +- Update to 4.5.12 + +* Mon Dec 31 2018 Orion Poplawski - 4.5.11-2 +- EPEL7 compatability + +* Fri Sep 21 2018 Zbigniew Jędrzejewski-Szmek - 4.5.11-1 +- Update to latest stable version (#1570217) +- Disable python2 subpackage on F30+ + +* Fri Jul 13 2018 Zbigniew Jędrzejewski-Szmek - 4.4.11-4 +- Pull in python[23]-cytoolz to replace bundled toolz + +* Thu Jul 12 2018 Fedora Release Engineering - 4.4.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 4.4.11-3 +- Rebuilt for Python 3.7 + +* Wed Apr 18 2018 Orion Poplawski - 4.4.11-2 +- Set _CONDA_ROOT in /etc/profile.d/conda.csh +- Fix python2 requires +- Require pycosat >= 0.6.3 + +* Sat Apr 14 2018 Zbigniew Jędrzejewski-Szmek - 4.4.11-1 +- Update to latest upstream version in the 4.4.x branch (#1544046) + +* Wed Feb 7 2018 Zbigniew Jędrzejewski-Szmek - 4.4.9-1 +- Update to v4.4.9 (#1542874) +- conda-activate binary rpm is retired. The new way to activate the environment + is to say 'conda activate'. See + https://github.com/conda/conda/releases/tag/4.4.0 for more information. + +* Wed Feb 07 2018 Iryna Shcherbina - 4.3.24-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Feb 07 2018 Fedora Release Engineering - 4.3.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 4.3.24-3 +- Install just one version of the executables (python 2 or 3) + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 4.3.24-2 +- Add all licenses to the License tag +- Add Provides: bundled(...) for all the "vendored" dependencies +- Update descriptions and simplify the spec file a bit +- Move condarc.d directory under /usr/share/conda + +* Thu Aug 3 2017 Zbigniew Jędrzejewski-Szmek - 4.3.24-1 +- Update to latest version +- Switch /usr/bin/conda to python3 + +* Thu Jul 21 2016 Orion Poplawski - 4.1.6-1 +- Update to 4.1.6 + +* Thu Dec 31 2015 Orion Poplawski - 3.19.0-1 +- Update to 3.19.0 + +* Thu Dec 31 2015 Orion Poplawski - 3.18.8-2 +- Add python 3 version + +* Mon Dec 7 2015 Orion Poplawski - 3.18.8-1 +- Update to 3.18.8 + +* Thu Sep 24 2015 Orion Poplawski - 3.17.0-6 +- Do not create broken symlinks if activate/deactivate are not installed +- Do not create /usr/conda-meta to prevent accidental installs into system + +* Thu Sep 24 2015 Orion Poplawski - 3.17.0-5 +- Non-bootstrap build + +* Wed Sep 23 2015 Orion Poplawski - 3.17.0-4 +- Add patch to support rootless mode +- Require python-crypto +- Create /usr/conda-meta, /usr/.condarc, /var/cache/conda + +* Tue Sep 22 2015 Orion Poplawski - 3.17.0-3 +- Require python-requests, python-yaml + +* Tue Sep 22 2015 Orion Poplawski - 3.17.0-2 +- Add patch to allow overriding pkgs_dirs in .condarc + +* Mon Sep 21 2015 Orion Poplawski - 3.17.0-1 +- Initial package diff --git a/conda_gateways_disk_create.patch b/conda_gateways_disk_create.patch new file mode 100644 index 0000000..59235e2 --- /dev/null +++ b/conda_gateways_disk_create.patch @@ -0,0 +1,21 @@ +--- conda-4.6.9/conda/gateways/disk/create.py.orig 2019-03-29 19:33:49.000000000 -0600 ++++ conda-4.6.9/conda/gateways/disk/create.py 2019-03-30 20:40:49.522977470 -0600 +@@ -27,7 +27,7 @@ + from ...common.path import ensure_pad, expand, win_path_double_escape, win_path_ok + from ...common.serialize import json_dump + from ...exceptions import (BasicClobberError, CaseInsensitiveFileSystemError, CondaOSError, +- maybe_raise, CondaFileIOError) ++ maybe_raise, CondaFileIOError, NotWritableError) + from ...models.enums import FileMode, LinkType + + log = getLogger(__name__) +@@ -407,6 +407,9 @@ + 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: + if e.errno in (EACCES, EPERM): + log.trace("cannot create package cache directory '%s'", pkgs_dir) diff --git a/conda_sys_prefix.patch b/conda_sys_prefix.patch new file mode 100644 index 0000000..6ea6485 --- /dev/null +++ b/conda_sys_prefix.patch @@ -0,0 +1,14 @@ +diff --git a/conda/__init__.py b/conda/__init__.py +index 342f3ce..debf943 100644 +--- a/conda/__init__.py ++++ b/conda/__init__.py +@@ -35,8 +35,7 @@ __copyright__ = "Copyright (c) 2012, Anaconda, Inc." + __summary__ = __doc__ + __url__ = "https://github.com/conda/conda" + +-if os.getenv('CONDA_ROOT') is None: +- os.environ[str('CONDA_ROOT')] = sys.prefix ++os.environ['CONDA_ROOT'] = '/usr/share/conda' + + CONDA_PACKAGE_ROOT = abspath(dirname(__file__)) + diff --git a/setup.patch b/setup.patch new file mode 100644 index 0000000..cf2fb6b --- /dev/null +++ b/setup.patch @@ -0,0 +1,16 @@ +diff --git a/utils/setup-testing.py b/utils/setup-testing.py +index 7036d44..19793f8 100755 +--- a/utils/setup-testing.py ++++ b/utils/setup-testing.py +@@ -3,10 +3,7 @@ + from __future__ import absolute_import, division, print_function, unicode_literals + import os + import sys +-if 'develop' in sys.argv: +- from setuptools import setup +-else: +- from distutils.core import setup ++from setuptools import setup + + if not (sys.version_info[:2] == (2, 7) or sys.version_info[:2] >= (3, 3)): + sys.exit("conda is only meant for Python 2.7 or 3.3 and up. " diff --git a/sources b/sources index 28be694..9c0ebc3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (conda-25.11.1.tar.gz) = ce04c8805ca51047cf1e1ebb945fcce1fbb559fe472d4f5fb4217d49b93b67c8e38baf735c6a9244b31d559247ec10d46e1e33caf8ac7fedc105ce3645121609 +SHA512 (conda-4.6.14.tar.gz) = 046faac0f82e3cd2f417725fe6074ccc561e126c0af11a3a46a3f32f7a535d11d3d337fbdc1f5a61ca8dc2235f6421ac8425b1a7aa7ce326cb9e2e6c18ce5a10