Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-certifi for openSUSE:Factory checked in at 2026-06-18 18:38:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-certifi (Old) and /work/SRC/openSUSE:Factory/.python-certifi.new.1981 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certifi" Thu Jun 18 18:38:12 2026 rev:47 rq:1359862 version:2026.5.20 Changes: -------- --- /work/SRC/openSUSE:Factory/python-certifi/python-certifi.changes 2026-06-15 19:41:32.862646743 +0200 +++ /work/SRC/openSUSE:Factory/.python-certifi.new.1981/python-certifi.changes 2026-06-18 18:38:16.079133279 +0200 @@ -1,0 +2,11 @@ +Tue Jun 16 22:22:02 UTC 2026 - Matej Cepl <[email protected]> + +- Modify python-certifi-shipped-requests-cabundle.patch so that + certifi.where() returns file path of CA Bundle only when it + actually exists, otherwise return None, which should make + + ctx = ssl.create_default_context(cafile=certifi.where()) + + work with the system defaults. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-certifi-shipped-requests-cabundle.patch ++++++ --- /var/tmp/diff_new_pack.VO8jmG/_old 2026-06-18 18:38:16.811163818 +0200 +++ /var/tmp/diff_new_pack.VO8jmG/_new 2026-06-18 18:38:16.815163985 +0200 @@ -1,12 +1,12 @@ --- - certifi/core.py | 80 ++++++-------------------------------------------------- - 1 file changed, 9 insertions(+), 71 deletions(-) + certifi/core.py | 91 ++++++++++++-------------------------------------------- + 1 file changed, 20 insertions(+), 71 deletions(-) -Index: certifi-2026.4.22/certifi/core.py +Index: certifi-2026.5.20/certifi/core.py =================================================================== ---- certifi-2026.4.22.orig/certifi/core.py 2026-04-22 13:25:36.000000000 +0200 -+++ certifi-2026.4.22/certifi/core.py 2026-05-20 13:30:31.148536139 +0200 -@@ -3,81 +3,19 @@ +--- certifi-2026.5.20.orig/certifi/core.py 2026-06-17 00:19:03.550347364 +0200 ++++ certifi-2026.5.20/certifi/core.py 2026-06-17 00:20:46.453271021 +0200 +@@ -3,81 +3,30 @@ ~~~~~~~~~~ This module returns the installation location of cacert.pem or its contents. @@ -89,12 +89,23 @@ - _CACERT_PATH = str(_CACERT_CTX.__enter__()) - atexit.register(exit_cacert_ctx) +def where(): -+ return "/etc/ssl/ca-bundle.pem" ++ # Try the legacy location first ++ legacy_path = "/etc/ssl/ca-bundle.pem" ++ if os.path.exists(legacy_path): ++ return legacy_path - return _CACERT_PATH ++ # Try the primary location ++ primary_path = "/var/lib/ca-certificates/ca-bundle.pem" ++ if os.path.exists(primary_path): ++ return primary_path - def contents() -> str: - return read_text("certifi", "cacert.pem", encoding="ascii") ++ # Return None to let Python use system defaults ++ return None ++ ++ +def contents() -> str: + return read_text(encoding="ascii") ++++++ two-basic-unit-tests.patch ++++++ --- /var/tmp/diff_new_pack.VO8jmG/_old 2026-06-18 18:38:16.839164986 +0200 +++ /var/tmp/diff_new_pack.VO8jmG/_new 2026-06-18 18:38:16.843165153 +0200 @@ -5,41 +5,17 @@ --- .github/workflows/python-package.yml | 40 +++++++++++++++++++++++++++++++++++ + certifi/core.py | 2 + certifi/tests/__init__.py | 2 + certifi/tests/test_certifi.py | 19 ++++++++++++++++ - 3 files changed, 61 insertions(+) + 4 files changed, 63 insertions(+) create mode 100644 certifi/tests/__init__.py create mode 100755 certifi/tests/test_certifi.py ---- /dev/null -+++ b/certifi/tests/__init__.py -@@ -0,0 +1,2 @@ -+# certifi.tests module -+ ---- /dev/null -+++ b/certifi/tests/test_certifi.py -@@ -0,0 +1,19 @@ -+# -*- coding: utf-8 -*- -+""" -+unit tests to make sure everything behaves as expected -+""" -+ -+import os -+import unittest -+ -+import certifi -+ -+ -+class TestCertifi(unittest.TestCase): -+ def test_cabundle_exists(self): -+ """Check that the reported bundle exists""" -+ self.assertTrue(os.path.exists(certifi.where())) -+ -+ def test_read_contents(self): -+ """Check that the returned contents contain a certificate""" -+ self.assertIn("-----BEGIN CERTIFICATE-----", certifi.contents()) ---- /dev/null -+++ b/.github/workflows/python-package.yml +Index: certifi-2026.5.20/.github/workflows/python-package.yml +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ certifi-2026.5.20/.github/workflows/python-package.yml 2026-06-17 00:20:53.831828035 +0200 @@ -0,0 +1,40 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions @@ -81,4 +57,48 @@ + - name: Test with pytest + run: | + pytest +Index: certifi-2026.5.20/certifi/core.py +=================================================================== +--- certifi-2026.5.20.orig/certifi/core.py 2026-06-17 00:20:46.453271021 +0200 ++++ certifi-2026.5.20/certifi/core.py 2026-06-17 00:29:34.046485547 +0200 +@@ -6,6 +6,8 @@ + Patched by openSUSE: return the system bundle + """ + import io ++import os ++import os.path + + + def read_text(_module=None, _path=None, encoding="ascii"): +Index: certifi-2026.5.20/certifi/tests/__init__.py +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ certifi-2026.5.20/certifi/tests/__init__.py 2026-06-17 00:20:53.833021624 +0200 +@@ -0,0 +1,2 @@ ++# certifi.tests module ++ +Index: certifi-2026.5.20/certifi/tests/test_certifi.py +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ certifi-2026.5.20/certifi/tests/test_certifi.py 2026-06-17 00:20:53.833187758 +0200 +@@ -0,0 +1,19 @@ ++# -*- coding: utf-8 -*- ++""" ++unit tests to make sure everything behaves as expected ++""" ++ ++import os ++import unittest ++ ++import certifi ++ ++ ++class TestCertifi(unittest.TestCase): ++ def test_cabundle_exists(self): ++ """Check that the reported bundle exists""" ++ self.assertTrue(os.path.exists(certifi.where())) ++ ++ def test_read_contents(self): ++ """Check that the returned contents contain a certificate""" ++ self.assertIn("-----BEGIN CERTIFICATE-----", certifi.contents())
