From 8942337bc940035eefb628d4f38ceaed0e6552e46ce786f2b5e43c0636a2fd1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Thu, 17 Nov 2022 12:40:32 +0000 Subject: [PATCH] Accepting request 1036414 from home:glaubitz:branches:devel:languages:python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to 2022.9.24: * (no changes) - from version 2022.09.24: * (no changes) - from version 2022.09.14: * (no changes) - from version 2022.06.15.2: * Only use importlib.resources's new files() / Traversable API on Python ≥3.11 (#204) - from version 2022.06.15.1: * Fix deprecation warning on Python 3.11 (#199) * fixes #198 -- update link in license - from version 2022.06.15: * Add py.typed to MANIFEST.in to package in sdist (#196) - from version 2022.05.18.1: * Add support for Python 3.10 and drop EOL 3.5 (#167) - from version 2022.05.18: * Automatically lock github issues after they've been closed for 90 days (#189) * Remove universal wheel, python 2 is unsupported (#187) * Add type annotations to package * Added Required Python Version (#152) * Fix homepage link (#145) - Refresh patches for new version * python-certifi-shipped-requests-cabundle.patch OBS-URL: https://build.opensuse.org/request/show/1036414 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-certifi?expand=0&rev=57 --- certifi-2021.10.8.tar.gz | 3 - certifi-2022.9.24.tar.gz | 3 + ...on-certifi-shipped-requests-cabundle.patch | 104 +++++++++++++----- python-certifi.changes | 29 +++++ python-certifi.spec | 2 +- 5 files changed, 107 insertions(+), 34 deletions(-) delete mode 100644 certifi-2021.10.8.tar.gz create mode 100644 certifi-2022.9.24.tar.gz diff --git a/certifi-2021.10.8.tar.gz b/certifi-2021.10.8.tar.gz deleted file mode 100644 index 87bf860..0000000 --- a/certifi-2021.10.8.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872 -size 151214 diff --git a/certifi-2022.9.24.tar.gz b/certifi-2022.9.24.tar.gz new file mode 100644 index 0000000..76c5f30 --- /dev/null +++ b/certifi-2022.9.24.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 +size 162705 diff --git a/python-certifi-shipped-requests-cabundle.patch b/python-certifi-shipped-requests-cabundle.patch index c8b2728..e4f0800 100644 --- a/python-certifi-shipped-requests-cabundle.patch +++ b/python-certifi-shipped-requests-cabundle.patch @@ -1,33 +1,25 @@ ---- - certifi/core.py | 54 +++++++++--------------------------------------------- - 1 file changed, 9 insertions(+), 45 deletions(-) - ---- a/certifi/core.py -+++ b/certifi/core.py -@@ -1,60 +1,24 @@ - # -*- coding: utf-8 -*- -+import io - - """ - certifi.py +diff -Nru certifi-2022.9.24.orig/certifi/core.py certifi-2022.9.24/certifi/core.py +--- certifi-2022.9.24.orig/certifi/core.py 2022-09-13 22:15:32.000000000 +0200 ++++ certifi-2022.9.24/certifi/core.py 2022-11-15 12:56:32.415823730 +0100 +@@ -3,106 +3,18 @@ ~~~~~~~~~~ This module returns the installation location of cacert.pem or its contents. -+ -+Patched by openSUSE: return the system bundle - """ --import os +-""" +-import sys +- --try: -- from importlib.resources import path as get_path, read_text +-if sys.version_info >= (3, 11): ++Patched by openSUSE: return the system bundle ++""" + +- from importlib.resources import as_file, files ++import io - _CACERT_CTX = None - _CACERT_PATH = None -+def read_text(_module=None, _path=None, encoding="ascii"): -+ with io.open(where(), "r", encoding=encoding) as data: -+ return data.read() - -- def where(): +- +- 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 @@ -46,31 +38,83 @@ - # 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("certifi").joinpath("cacert.pem")) +- _CACERT_PATH = str(_CACERT_CTX.__enter__()) +- +- return _CACERT_PATH +- +- def contents() -> str: +- return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") +- +-elif sys.version_info >= (3, 7): +- +- 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("certifi", "cacert.pem") - _CACERT_PATH = str(_CACERT_CTX.__enter__()) - - return _CACERT_PATH - +- def contents() -> str: +- return read_text("certifi", "cacert.pem", encoding="ascii") +- +-else: +- import os +- import types +- from typing import Union +- +- Package = Union[types.ModuleType, str] +- Resource = Union[str, "os.PathLike"] - --except ImportError: - # This fallback will work for Python versions prior to 3.7 that lack the - # importlib.resources module but relies on the existing `where` function - # so won't address issues with environments like PyOxidizer that don't set - # __file__ on modules. -- def read_text(_module, _path, encoding="ascii"): -- with open(where(), "r", encoding=encoding) as data: +- def read_text( +- package: Package, +- resource: Resource, +- encoding: str = 'utf-8', +- errors: str = 'strict' +- ) -> str: +- with open(where(), encoding=encoding) as data: - return data.read() - - # If we don't have importlib.resources, then we will just do the old logic - # of assuming we're on the filesystem and munge the path directly. -- def where(): +- def where() -> str: - f = os.path.dirname(__file__) ++def read_text(_module=None, _path=None, encoding="ascii"): ++ with io.open(where(), "r", encoding=encoding) as data: ++ return data.read() - return os.path.join(f, "cacert.pem") +def where(): + return "/etc/ssl/ca-bundle.pem" - - def contents(): -- return read_text("certifi", "cacert.pem", encoding="ascii") +- def contents() -> str: +- return read_text("certifi", "cacert.pem", encoding="ascii") ++def contents() -> str: + return read_text(encoding="ascii") diff --git a/python-certifi.changes b/python-certifi.changes index c4f43ae..4dbdac1 100644 --- a/python-certifi.changes +++ b/python-certifi.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Thu Nov 17 09:31:30 UTC 2022 - John Paul Adrian Glaubitz + +- Update to 2022.9.24: + * (no changes) +- from version 2022.09.24: + * (no changes) +- from version 2022.09.14: + * (no changes) +- from version 2022.06.15.2: + * Only use importlib.resources's new files() / + Traversable API on Python ≥3.11 (#204) +- from version 2022.06.15.1: + * Fix deprecation warning on Python 3.11 (#199) + * fixes #198 -- update link in license +- from version 2022.06.15: + * Add py.typed to MANIFEST.in to package in sdist (#196) +- from version 2022.05.18.1: + * Add support for Python 3.10 and drop EOL 3.5 (#167) +- from version 2022.05.18: + * Automatically lock github issues after + they've been closed for 90 days (#189) + * Remove universal wheel, python 2 is unsupported (#187) + * Add type annotations to package + * Added Required Python Version (#152) + * Fix homepage link (#145) +- Refresh patches for new version + * python-certifi-shipped-requests-cabundle.patch + ------------------------------------------------------------------- Sat Jan 15 17:54:53 UTC 2022 - Dirk Müller diff --git a/python-certifi.spec b/python-certifi.spec index 7a58884..cc7def1 100644 --- a/python-certifi.spec +++ b/python-certifi.spec @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-certifi -Version: 2021.10.8 +Version: 2022.9.24 Release: 0 Summary: Python package for providing Mozilla's CA Bundle License: MPL-2.0