14
0
forked from pool/python-pip
Files
python-pip/pip-shipped-requests-cabundle.patch

130 lines
5.2 KiB
Diff
Raw Permalink Normal View History

---
src/pip/_vendor/certifi/core.py | 105 +++-------------------------------------
tests/unit/test_options.py | 5 +
2 files changed, 13 insertions(+), 97 deletions(-)
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
Index: pip-25.2/src/pip/_vendor/certifi/core.py
- update to 24.1.1: * Actually use system trust stores when the truststore feature is enabled. * Report informative messages about invalid requirements. * Eagerly import the self version check logic to avoid crashes while upgrading or downgrading pip at the same time. * Accommodate for mismatches between different sources of truth for extra names, for packages generated by setuptools. * Accommodate for development versions of CPython ending in + in the version string. * requests provides optional character detection support on some APIs when processing ambiguous bytes. This isn't relevant for pip to function and we're able to remove it due to recent upstream changes. * Drop support for EOL Python 3.7. * Remove support for legacy versions and dependency specifiers. * Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. Already installed packages with non standard-compliant versions or dependency specifiers must be uninstalled before upgrading them. * Improve performance of resolution of large dependency trees, with more caching. * Further improve resolution performance of large dependency trees, by caching hash calculations. * Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. * Reword and improve presentation of uninstallation errors. * Add a 'raw' progress_bar type for simple and parsable download progress reports * pip list no longer performs the pip version check unless OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=122
2024-06-30 18:46:56 +00:00
===================================================================
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
--- pip-25.2.orig/src/pip/_vendor/certifi/core.py
+++ pip-25.2/src/pip/_vendor/certifi/core.py
@@ -3,81 +3,14 @@ certifi.py
~~~~~~~~~~
This module returns the installation location of cacert.pem or its contents.
+Patched by openSUSE: return the system bundle
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
"""
-import sys
- update to 24.1.1: * Actually use system trust stores when the truststore feature is enabled. * Report informative messages about invalid requirements. * Eagerly import the self version check logic to avoid crashes while upgrading or downgrading pip at the same time. * Accommodate for mismatches between different sources of truth for extra names, for packages generated by setuptools. * Accommodate for development versions of CPython ending in + in the version string. * requests provides optional character detection support on some APIs when processing ambiguous bytes. This isn't relevant for pip to function and we're able to remove it due to recent upstream changes. * Drop support for EOL Python 3.7. * Remove support for legacy versions and dependency specifiers. * Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. Already installed packages with non standard-compliant versions or dependency specifiers must be uninstalled before upgrading them. * Improve performance of resolution of large dependency trees, with more caching. * Further improve resolution performance of large dependency trees, by caching hash calculations. * Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. * Reword and improve presentation of uninstallation errors. * Add a 'raw' progress_bar type for simple and parsable download progress reports * pip list no longer performs the pip version check unless OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=122
2024-06-30 18:46:56 +00:00
-import atexit
+def read_text(_module=None, _path=None, encoding="ascii"):
+ with open(where(), "r", encoding=encoding) as data:
+ return data.read()
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
-def exit_cacert_ctx() -> None:
- _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr]
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
+def where() -> str:
+ return "/etc/ssl/ca-bundle.pem"
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
-
- update to 24.1.1: * Actually use system trust stores when the truststore feature is enabled. * Report informative messages about invalid requirements. * Eagerly import the self version check logic to avoid crashes while upgrading or downgrading pip at the same time. * Accommodate for mismatches between different sources of truth for extra names, for packages generated by setuptools. * Accommodate for development versions of CPython ending in + in the version string. * requests provides optional character detection support on some APIs when processing ambiguous bytes. This isn't relevant for pip to function and we're able to remove it due to recent upstream changes. * Drop support for EOL Python 3.7. * Remove support for legacy versions and dependency specifiers. * Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. Already installed packages with non standard-compliant versions or dependency specifiers must be uninstalled before upgrading them. * Improve performance of resolution of large dependency trees, with more caching. * Further improve resolution performance of large dependency trees, by caching hash calculations. * Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. * Reword and improve presentation of uninstallation errors. * Add a 'raw' progress_bar type for simple and parsable download progress reports * pip list no longer performs the pip version check unless OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=122
2024-06-30 18:46:56 +00:00
-if sys.version_info >= (3, 11):
-
- from importlib.resources import as_file, files
-
- update to 21.3.1: * Always refuse installing or building projects that have no ``pyproject.toml`` nor ``setup.py``. * Tweak running-as-root detection, to check ``os.getuid`` if it exists, on Unix-y and non-Linux/non-MacOS machines. * When installing projects with a ``pyproject.toml`` in editable mode, and the build backend does not support :pep:`660`, prepare metadata using ``prepare_metadata_for_build_wheel`` instead of ``setup.py egg_info``. Also, refuse installing projects that only have a ``setup.cfg`` and no ``setup.py`` nor ``pyproject.toml``. These restore the pre-21.3 behaviour. * Restore compatibility of where configuration files are loaded from on MacOS * Upgrade pep517 to 0.12.0 * Improve deprecation warning regarding the copying of source trees when installing from a local directory. * Suppress location mismatch warnings when pip is invoked from a Python source tree, so ``ensurepip`` does not emit warnings on CPython ``make install``. * On Python 3.10 or later, the installation scheme backend has been changed to use ``sysconfig``. This is to anticipate the deprecation of ``distutils`` in Python 3.10, and its scheduled removal in 3.12. For compatibility considerations, pip installations running on Python 3.9 or lower will continue to use ``distutils``. * Remove the ``--build-dir`` option and aliases, one last time. * In-tree builds are now the default. ``--use-feature=in-tree-build`` is now ignored. ``--use-deprecated=out-of-tree-build`` may be used temporarily to ease the transition. * Un-deprecate source distribution re-installation behaviour. * Replace vendored appdirs with platformdirs. * Support `PEP 610 <https://www.python.org/dev/peps/pep-0610/>`_ to detect editable installs in ``pip freeze`` and ``pip list``. The ``pip list`` column output has a new ``Editable project location`` column, and the JSON output has a new ``editable_project_location`` field. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=92
2021-11-07 18:12:24 +00:00
- _CACERT_CTX = None
- _CACERT_PATH = None
-
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
- def where() -> str:
- # This is slightly terrible, but we want to delay extracting the file
- # in cases where we're inside of a zipimport situation until someone
- # actually calls where(), but we don't want to re-extract the file
- # on every call of where(), so we'll do it once then store it in a
- # global variable.
- global _CACERT_CTX
- global _CACERT_PATH
- if _CACERT_PATH is None:
- # This is slightly janky, the importlib.resources API wants you to
- # manage the cleanup of this file, so it doesn't actually return a
- # path, it returns a context manager that will give you the path
- # when you enter it and will do any cleanup when you leave it. In
- # the common case of not needing a temporary file, it will just
- # return the file system location and the __exit__() is a no-op.
- #
- # We also have to hold onto the actual context manager, because
- # it will do the cleanup whenever it gets garbage collected, so
- # we will also store that at the global level as well.
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
- _CACERT_CTX = as_file(files("pip._vendor.certifi").joinpath("cacert.pem"))
- _CACERT_PATH = str(_CACERT_CTX.__enter__())
- update to 24.1.1: * Actually use system trust stores when the truststore feature is enabled. * Report informative messages about invalid requirements. * Eagerly import the self version check logic to avoid crashes while upgrading or downgrading pip at the same time. * Accommodate for mismatches between different sources of truth for extra names, for packages generated by setuptools. * Accommodate for development versions of CPython ending in + in the version string. * requests provides optional character detection support on some APIs when processing ambiguous bytes. This isn't relevant for pip to function and we're able to remove it due to recent upstream changes. * Drop support for EOL Python 3.7. * Remove support for legacy versions and dependency specifiers. * Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. Already installed packages with non standard-compliant versions or dependency specifiers must be uninstalled before upgrading them. * Improve performance of resolution of large dependency trees, with more caching. * Further improve resolution performance of large dependency trees, by caching hash calculations. * Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. * Reword and improve presentation of uninstallation errors. * Add a 'raw' progress_bar type for simple and parsable download progress reports * pip list no longer performs the pip version check unless OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=122
2024-06-30 18:46:56 +00:00
- atexit.register(exit_cacert_ctx)
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
-
- return _CACERT_PATH
-
- def contents() -> str:
- return files("pip._vendor.certifi").joinpath("cacert.pem").read_text(encoding="ascii")
-
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
-else:
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
-
- from importlib.resources import path as get_path, read_text
-
- _CACERT_CTX = None
- _CACERT_PATH = None
-
- def where() -> str:
- # This is slightly terrible, but we want to delay extracting the
- # file in cases where we're inside of a zipimport situation until
- # someone actually calls where(), but we don't want to re-extract
- # the file on every call of where(), so we'll do it once then store
- # it in a global variable.
- global _CACERT_CTX
- global _CACERT_PATH
- if _CACERT_PATH is None:
- # This is slightly janky, the importlib.resources API wants you
- # to manage the cleanup of this file, so it doesn't actually
- # return a path, it returns a context manager that will give
- # you the path when you enter it and will do any cleanup when
- # you leave it. In the common case of not needing a temporary
- # file, it will just return the file system location and the
- # __exit__() is a no-op.
- #
- # We also have to hold onto the actual context manager, because
- # it will do the cleanup whenever it gets garbage collected, so
- # we will also store that at the global level as well.
- _CACERT_CTX = get_path("pip._vendor.certifi", "cacert.pem")
- _CACERT_PATH = str(_CACERT_CTX.__enter__())
- update to 24.1.1: * Actually use system trust stores when the truststore feature is enabled. * Report informative messages about invalid requirements. * Eagerly import the self version check logic to avoid crashes while upgrading or downgrading pip at the same time. * Accommodate for mismatches between different sources of truth for extra names, for packages generated by setuptools. * Accommodate for development versions of CPython ending in + in the version string. * requests provides optional character detection support on some APIs when processing ambiguous bytes. This isn't relevant for pip to function and we're able to remove it due to recent upstream changes. * Drop support for EOL Python 3.7. * Remove support for legacy versions and dependency specifiers. * Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. Already installed packages with non standard-compliant versions or dependency specifiers must be uninstalled before upgrading them. * Improve performance of resolution of large dependency trees, with more caching. * Further improve resolution performance of large dependency trees, by caching hash calculations. * Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. * Reword and improve presentation of uninstallation errors. * Add a 'raw' progress_bar type for simple and parsable download progress reports * pip list no longer performs the pip version check unless OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=122
2024-06-30 18:46:56 +00:00
- atexit.register(exit_cacert_ctx)
-
- return _CACERT_PATH
-
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
- def contents() -> str:
- return read_text("pip._vendor.certifi", "cacert.pem", encoding="ascii")
+def contents() -> str:
+ return read_text(encoding="ascii")
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
Index: pip-25.2/tests/unit/test_options.py
- update to 24.1.1: * Actually use system trust stores when the truststore feature is enabled. * Report informative messages about invalid requirements. * Eagerly import the self version check logic to avoid crashes while upgrading or downgrading pip at the same time. * Accommodate for mismatches between different sources of truth for extra names, for packages generated by setuptools. * Accommodate for development versions of CPython ending in + in the version string. * requests provides optional character detection support on some APIs when processing ambiguous bytes. This isn't relevant for pip to function and we're able to remove it due to recent upstream changes. * Drop support for EOL Python 3.7. * Remove support for legacy versions and dependency specifiers. * Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. Already installed packages with non standard-compliant versions or dependency specifiers must be uninstalled before upgrading them. * Improve performance of resolution of large dependency trees, with more caching. * Further improve resolution performance of large dependency trees, by caching hash calculations. * Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. * Reword and improve presentation of uninstallation errors. * Add a 'raw' progress_bar type for simple and parsable download progress reports * pip list no longer performs the pip version check unless OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=122
2024-06-30 18:46:56 +00:00
===================================================================
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
--- pip-25.2.orig/tests/unit/test_options.py
+++ pip-25.2/tests/unit/test_options.py
@@ -1,6 +1,7 @@
from __future__ import annotations
import os
+import os.path
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
from collections.abc import Iterator
from contextlib import contextmanager
from optparse import Values
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
@@ -13,6 +14,7 @@ import pip._internal.configuration
from pip._internal.cli.main import main
from pip._internal.commands import create_command
from pip._internal.commands.configuration import ConfigurationCommand
+from pip._vendor.certifi import where
from pip._internal.exceptions import PipError
- Update to 22.3.1: (bsc#1205478) * Deprecations and Removals + Deprecate installation with setup.py install when no-binary is enabled for source distributions without pyproject.toml. (#11452) + Deprecate installation with setup.py install when the wheel package is absent for source distributions without pyproject.toml. (#8559) + Drop --use-deprecated=out-of-tree-build. (#11001) * Features + Use the data-dist-info-metadata attribute from PEP 658 to resolve distribution metadata without downloading the dist yet. (#11111) + Add --dry-run option to pip install, to let it print what it would install but not actually make changes in the target environment. (#11096) + Add pip inspect command to obtain the list of installed distributions and other information about the Python environment, in JSON. (#11245) + Add option to install and uninstall commands to opt-out from running-as-root warning. (#10556) + Add a user interface for supplying config settings to build backends. (#11059) + Explains why specified version cannot be retrieved when Requires-Python is not satisfied. (#9615) + Validate build dependencies when using --no-build-isolation. (#9794) * Bug Fixes + Fix entry point generation of pip.X, pipX.Y, and easy_install-X.Y to correctly account for multi-digit Python version segments. (#11547) + Fix --no-index when --index-url or --extra-index-url is specified inside a requirements file. (#11276) + Ignore distributions with invalid Name in metadata instead of crashing, when using the importlib.metadata backend. (#11352) + Raise RequirementsFileParseError when parsing malformed requirements options that can’t be sucessfully parsed by shlex. (#11491) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
2022-12-08 04:12:44 +00:00
from tests.lib.options_helpers import AddFakeCommandMixin
Accepting request 1299243 from home:mcalabkova:branches:devel:languages:python - update to 25.2 # 25.1 * Drop support for Python 3.8. * On python 3.14+, the pkg_resources metadata backend cannot be used anymore. * Hide --no-python-version-warning from CLI help and documentation as it's useless since Python 2 support was removed. * A warning is emitted when the deprecated pkg_resources library is used to inspect and discover installed packages. * Deprecate the legacy setup.py bdist_wheel mechanism. To silence the warning, and future-proof their setup, users should enable --use-pep517 or add a pyproject.toml file to the projects they control. * Using --debug also enables verbose logging. * Display a transient progress bar during package installation. * Add a --group option which allows installation from PEP 735 Dependency Groups. * Use PEP 753 "Well-known Project URLs in Metadata" normalization rules when identifying an equivalent project URL to replace a missing Home-Page field in pip show. * Add a new, experimental, pip lock command, implementing PEP 751. * Resolvelib 1.1.0 fixes a known issue where pip would report a ResolutionImpossible error even though there is a valid solution. However, some very complex dependency resolutions that previously resolved may resolve slower or fail with an ResolutionTooDeep error. # 25.2 * Declare support for Python 3.14 * Automatic download resumption and retrying is enabled by default. * Requires-Python error message displays version clauses in numerical order. OBS-URL: https://build.opensuse.org/request/show/1299243 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=142
2025-08-13 15:30:17 +00:00
@@ -621,6 +623,9 @@ class TestOptionsConfigFiles:
else:
assert expect == cmd._determine_file(options, need_value=False)
+ def test_certificates(self):
+ assert os.path.exists(where())
+
class TestOptionsExpandUser(AddFakeCommandMixin):
def test_cache_dir(self) -> None: