Drop nowarn-pip._internal.main.patch as the warning is no longer emitted via ensurepip in Fedora Pythons. Taken from Fedora 3a83d6c
104 lines
4.2 KiB
Diff
104 lines
4.2 KiB
Diff
From 7b5fbac83944e3a0dd975ff17b69358791b68721 Mon Sep 17 00:00:00 2001
|
|
From: Karolina Surma <ksurma@redhat.com>
|
|
Date: Thu, 27 Jun 2024 10:38:53 +0200
|
|
Subject: [PATCH] Dummy certifi patch
|
|
|
|
---
|
|
src/pip/_vendor/certifi/core.py | 80 +++------------------------------
|
|
1 file changed, 6 insertions(+), 74 deletions(-)
|
|
|
|
diff --git a/src/pip/_vendor/certifi/core.py b/src/pip/_vendor/certifi/core.py
|
|
index 2f2f7e0..bec6595 100644
|
|
--- a/src/pip/_vendor/certifi/core.py
|
|
+++ b/src/pip/_vendor/certifi/core.py
|
|
@@ -4,80 +4,12 @@ certifi.py
|
|
|
|
This module returns the installation location of cacert.pem or its contents.
|
|
"""
|
|
-import sys
|
|
-import atexit
|
|
|
|
-def exit_cacert_ctx() -> None:
|
|
- _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr]
|
|
+# The RPM-packaged certifi always uses the system certificates
|
|
+def where() -> str:
|
|
+ return '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem'
|
|
|
|
|
|
-if sys.version_info >= (3, 11):
|
|
-
|
|
- from importlib.resources import as_file, files
|
|
-
|
|
- _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 = as_file(files("pip._vendor.certifi").joinpath("cacert.pem"))
|
|
- _CACERT_PATH = str(_CACERT_CTX.__enter__())
|
|
- atexit.register(exit_cacert_ctx)
|
|
-
|
|
- return _CACERT_PATH
|
|
-
|
|
- def contents() -> str:
|
|
- return files("pip._vendor.certifi").joinpath("cacert.pem").read_text(encoding="ascii")
|
|
-
|
|
-else:
|
|
-
|
|
- 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__())
|
|
- atexit.register(exit_cacert_ctx)
|
|
-
|
|
- return _CACERT_PATH
|
|
-
|
|
- def contents() -> str:
|
|
- return read_text("pip._vendor.certifi", "cacert.pem", encoding="ascii")
|
|
+def contents() -> str:
|
|
+ with open(where(), encoding='utf=8') as data:
|
|
+ return data.read()
|
|
--
|
|
2.50.1
|
|
|