Compare commits

..

1 commit

Author SHA1 Message Date
Troy Dawson
856bdf207e epel8-playground decommissioned : https://pagure.io/epel/issue/136 2022-01-31 08:45:43 -08:00
12 changed files with 1 additions and 1071 deletions

2
.gitignore vendored
View file

@ -1,2 +0,0 @@
/.build-*.log
/conda-*.tar.gz

View file

@ -1,25 +0,0 @@
From 7eeb6a32d2004bc20a156dd8920964c107e99321 Mon Sep 17 00:00:00 2001
From: rpm-build <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

View file

@ -1,26 +0,0 @@
From f8f9a23a2a7540ec39cab9606f8b95aa8b346b65 Mon Sep 17 00:00:00 2001
From: rpm-build <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

View file

@ -1,25 +0,0 @@
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 logging import getLogger
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"
- 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 ""))
+ return join("bin", "python" + python_version)
def get_python_site_packages_short_path(python_version):

View file

@ -1,43 +0,0 @@
diff --git a/tests/test_api.py b/tests/test_api.py
index dd6a7b9..c60d1a1 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -224,7 +224,7 @@ def test_PackageCacheData_return_value_contract():
assert all(isinstance(pcrec, PackageCacheRecord) for pcrec in iter_records_result)
is_writable_result = pc.is_writable
- assert is_writable_result is True or is_writable_result is False
+ assert is_writable_result in {True, False, None}
first_writable_result = PackageCacheData.first_writable()
assert isinstance(first_writable_result, PackageCacheData)
@@ -265,13 +265,14 @@ def test_PrefixData_contract():
def test_PrefixData_return_value_contract():
pd = PrefixData(context.conda_prefix)
- single_prefix_rec = next(pd.iter_records())
- get_result = pd.get(PackageRecord.from_objects(single_prefix_rec))
- assert isinstance(get_result, PrefixRecord)
+ single_prefix_rec = next(pd.iter_records(), None)
+ if single_prefix_rec:
+ get_result = pd.get(PackageRecord.from_objects(single_prefix_rec))
+ assert isinstance(get_result, PrefixRecord)
- 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")
+ 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():
)
is_writable_result = pd.is_writable
- assert is_writable_result is True or is_writable_result is False
+ assert is_writable_result in {True, False, None}
reload_result = pd.reload()
assert isinstance(reload_result, PrefixData)

View file

@ -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:

View file

@ -1,3 +0,0 @@
# conda
The conda package

202
changelog
View file

@ -1,202 +0,0 @@
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 4.10.1-2
- Rebuilt for Python 3.10
* Thu Apr 15 2021 Orion Poplawski <orion@nwra.com> - 4.10.1-1
- Update to 4.10.1
* Fri Apr 02 2021 Orion Poplawski <orion@nwra.com> - 4.10.0-1
- Update to 4.10.0
* Tue Jan 26 2021 Orion Poplawski <orion@nwra.com> - 4.9.2-3
- Add patch to support python 3.10
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Nov 11 2020 Orion Poplawski <orion@nwra.com> - 4.9.2-1
- Update to 4.9.2
* Tue Oct 27 2020 Orion Poplawski <orion@nwra.com> - 4.9.1-1
- Update to 4.9.1
* Sun Oct 18 2020 Orion Poplawski <orion@nwra.com> - 4.9.0-1
- Update to 4.9.0
* Mon Sep 21 2020 Orion Poplawski <orion@nwra.com> - 4.8.5-2
- Add note to description about base environment
* Mon Sep 14 2020 Orion Poplawski <orion@nwra.com> - 4.8.5-1
- Update to 4.8.5
- Install conda.fish (bz#1878306)
* Sat Aug 08 2020 Orion Poplawski <orion@nwra.com> - 4.8.4-1
- Update to 4.8.4
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.3-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 4.8.3-2
- Rebuilt for Python 3.9
* Sun Mar 15 2020 Orion Poplawski <orion@nwra.com> - 4.8.3-1
- Update to 4.8.3
* Tue Feb 4 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.8.2-2
- Fix import for python3.9 compatiblity (#1797691)
* Tue Jan 28 2020 Orion Poplawski <orion@nwra.com> - 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 <orion@nwra.com> - 4.8.0-2
- Install bash completion file (bz#1791068)
* Sat Dec 14 2019 Orion Poplawski <orion@nwra.com> - 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 <orion@nwra.com> - 4.7.12-1
- Update to 4.7.12
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 4.7.11-2
- Rebuilt for Python 3.8
* Fri Aug 16 2019 Orion Poplawski <orion@nwra.com> - 4.7.11-1
- Update to 4.7.11
- Use system py-cpuinfo
* Fri Aug 16 2019 Orion Poplawski <orion@nwra.com> - 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 <zbyszek@in.waw.pl> - 4.7.10-1
- Fix 'conda shell.* hook' invocations (#1737165)
* Wed Jul 31 2019 Orion Poplawski <orion@nwra.com> - 4.7.10-1
- Update to 4.7.10
* Mon Jul 29 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.7.6-1
- Update to latest version (#1678578)
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jun 11 2019 Orion Poplawski <orion@nwra.com> - 4.7.2-1
- Update to 4.7.2
* Sun Jun 9 2019 Orion Poplawski <orion@nwra.com> - 4.7.1-1
- Update to 4.7.1
* Tue Apr 16 2019 Orion Poplawski <orion@nwra.com> - 4.6.13-1
- Update to 4.6.13
* Thu Apr 4 2019 Orion Poplawski <orion@nwra.com> - 4.6.11-1
- Update to 4.6.11
* Tue Apr 2 2019 Orion Poplawski <orion@nwra.com> - 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 <orion@nwra.com> - 4.6.9-1
- Update to 4.6.9
* Wed Feb 13 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.6.5-1
- Update to latest upstream version (#1668145)
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Dec 31 2018 Orion Poplawski <orion@nwra.com> - 4.5.12-1
- Update to 4.5.12
* Mon Dec 31 2018 Orion Poplawski <orion@nwra.com> - 4.5.11-2
- EPEL7 compatability
* Fri Sep 21 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.5.11-1
- Update to latest stable version (#1570217)
- Disable python2 subpackage on F30+
* Fri Jul 13 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.4.11-4
- Pull in python[23]-cytoolz to replace bundled toolz
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.11-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 4.4.11-3
- Rebuilt for Python 3.7
* Wed Apr 18 2018 Orion Poplawski <orion@nwra.com> - 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 <zbyszek@in.waw.pl> - 4.4.11-1
- Update to latest upstream version in the 4.4.x branch (#1544046)
* Wed Feb 7 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <ishcherb@redhat.com> - 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 <releng@fedoraproject.org> - 4.3.24-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.3.24-3
- Install just one version of the executables (python 2 or 3)
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 4.3.24-1
- Update to latest version
- Switch /usr/bin/conda to python3
* Thu Jul 21 2016 Orion Poplawski <orion@cora.nwra.com> - 4.1.6-1
- Update to 4.1.6
* Thu Dec 31 2015 Orion Poplawski <orion@cora.nwra.com> - 3.19.0-1
- Update to 3.19.0
* Thu Dec 31 2015 Orion Poplawski <orion@cora.nwra.com> - 3.18.8-2
- Add python 3 version
* Mon Dec 7 2015 Orion Poplawski <orion@cora.nwra.com> - 3.18.8-1
- Update to 3.18.8
* Thu Sep 24 2015 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 3.17.0-5
- Non-bootstrap build
* Wed Sep 23 2015 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 3.17.0-3
- Require python-requests, python-yaml
* Tue Sep 22 2015 Orion Poplawski <orion@cora.nwra.com> - 3.17.0-2
- Add patch to allow overriding pkgs_dirs in .condarc
* Mon Sep 21 2015 Orion Poplawski <orion@cora.nwra.com> - 3.17.0-1
- Initial package

218
conda
View file

@ -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

View file

@ -1,454 +0,0 @@
%bcond_without tests
Name: conda
Version: 25.11.1
Release: %autorelease
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
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
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
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
%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.}
%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}
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
# conda uses a modified version of auxlib
Provides: bundled(python%{python3_pkgversion}-auxlib) = 0.0.43
%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
# 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
# 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}
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
%endif
# Do not run coverage in pytest
sed -i -e '/"--cov/d' pyproject.toml
%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
%install
%pyproject_install
#py3_shebang_fix %{buildroot}%{python3_sitelib}/conda/shell/bin/conda
%pyproject_save_files conda*
mkdir -p %{buildroot}%{_sysconfdir}/conda/condarc.d
mkdir -p %{buildroot}%{_datadir}/conda/condarc.d
cat >%{buildroot}%{_datadir}/conda/condarc.d/defaults.yaml <<EOF
channels:
- https://conda.anaconda.org/conda-forge
pkgs_dirs:
- /var/cache/conda/pkgs
- ~/.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
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
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}%{_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}%{_datadir}/fish/vendor_conf.d/conda.fish
# Install bash completion script
install -m 0644 -Dt %{buildroot}%{bash_completionsdir}/ %SOURCE1
%check
%if %{with tests}
export PATH=%{buildroot}%{_bindir}:$PATH
PYTHONPATH=%{buildroot}%{python3_sitelib} conda info
# Integration tests generally require network, so skip them.
# TestJson.test_list does not recognize /usr as a conda environment
# These fail on koji with PackageNotFound errors likely due to network issues
# 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/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
# 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
# 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_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 -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 \
--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 \
--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/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 \
--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_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 \
--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] \
--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 \
--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[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 \
--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_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/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] \
--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/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
%files
%{_sysconfdir}/conda/
%{_bindir}/conda
%{_bindir}/conda-env
%{bash_completionsdir}/conda
# 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
%files tests
%{_datadir}/conda/tests/
%files -n python%{python3_pkgversion}-conda -f %pyproject_files
%doc CHANGELOG.md README.md
%{_localstatedir}/cache/conda/
%dir %{_datadir}/conda/
%{_datadir}/conda/condarc.d/
%changelog
%autochangelog

1
dead.package Normal file
View file

@ -0,0 +1 @@
epel8-playground decommissioned : https://pagure.io/epel/issue/136

View file

@ -1 +0,0 @@
SHA512 (conda-25.11.1.tar.gz) = ce04c8805ca51047cf1e1ebb945fcce1fbb559fe472d4f5fb4217d49b93b67c8e38baf735c6a9244b31d559247ec10d46e1e33caf8ac7fedc105ce3645121609