Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-CacheControl for 
openSUSE:Factory checked in at 2023-05-30 22:02:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-CacheControl (Old)
 and      /work/SRC/openSUSE:Factory/.python-CacheControl.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-CacheControl"

Tue May 30 22:02:40 2023 rev:12 rq:1089718 version:0.12.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-CacheControl/python-CacheControl.changes  
2023-05-08 17:24:41.064837277 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-CacheControl.new.1533/python-CacheControl.changes
        2023-05-30 22:02:55.763182499 +0200
@@ -1,0 +2,7 @@
+Tue May 30 07:53:24 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com>
+
+- Add requests-fix.patch to support latest version of urllib3 and
+  requests
+  gh#ionrock/cachecontrol#301, gh#ionrock/cachecontrol#304
+
+-------------------------------------------------------------------

New:
----
  requests-fix.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-CacheControl.spec ++++++
--- /var/tmp/diff_new_pack.4GbCA4/_old  2023-05-30 22:02:56.279185539 +0200
+++ /var/tmp/diff_new_pack.4GbCA4/_new  2023-05-30 22:02:56.283185563 +0200
@@ -25,7 +25,11 @@
 Group:          Development/Languages/Python
 URL:            https://github.com/ionrock/cachecontrol
 Source:         
https://github.com/ionrock/cachecontrol/archive/v%{version}.tar.gz#/CacheControl-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM requests-fix.patch -- gh#ionrock/cachecontrol#301, 
gh#ionrock/cachecontrol#304
+Patch0:         requests-fix.patch
+BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-msgpack >= 0.5.2
@@ -51,14 +55,18 @@
 requests session object.
 
 %prep
-%setup -q -n cachecontrol-%{version}
+%autosetup -p1 -n cachecontrol-%{version}
 sed -i -e 's/^from mock/from unittest.mock/' -e 's/^import mock/from unittest 
import mock/' tests/*.py
 
 %build
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
+
+# do not pack tests
+%python_expand rm -rf %{buildroot}%{$python_sitelib}/tests
+
 %python_clone -a %{buildroot}%{_bindir}/doesitcache
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 

++++++ requests-fix.patch ++++++
Index: cachecontrol-0.12.12/.github/workflows/tests.yml
===================================================================
--- cachecontrol-0.12.12.orig/.github/workflows/tests.yml
+++ cachecontrol-0.12.12/.github/workflows/tests.yml
@@ -14,9 +14,15 @@ jobs:
     runs-on: "${{ matrix.os }}"
 
     strategy:
+      fail-fast: false
       matrix:
-        python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
-        os: ["macos-10.15", "windows-latest", "ubuntu-latest"]
+        python-version: ["3.7", "3.8", "3.9", "3.10"]
+        os: ["macos-latest", "windows-latest", "ubuntu-latest"]
+        include:
+          - python-version: "3.6"
+            os: "ubuntu-20.04"
+          - python-version: "3.6"
+            os: "windows-latest"
 
     steps:
       - uses: "actions/checkout@v2"
Index: cachecontrol-0.12.12/cachecontrol/serialize.py
===================================================================
--- cachecontrol-0.12.12.orig/cachecontrol/serialize.py
+++ cachecontrol-0.12.12/cachecontrol/serialize.py
@@ -51,7 +51,6 @@ class Serializer(object):
                 u"status": response.status,
                 u"version": response.version,
                 u"reason": text_type(response.reason),
-                u"strict": response.strict,
                 u"decode_content": response.decode_content,
             }
         }
@@ -138,6 +137,9 @@ class Serializer(object):
             #     TypeError: 'str' does not support the buffer interface
             body = io.BytesIO(body_raw.encode("utf8"))
 
+        # Discard any `strict` parameter serialized by older version of 
cachecontrol.
+        cached["response"].pop("strict", None)
+
         return HTTPResponse(body=body, preload_content=False, 
**cached["response"])
 
     def _loads_v0(self, request, data, body_file=None):
Index: cachecontrol-0.12.12/tests/test_etag.py
===================================================================
--- cachecontrol-0.12.12.orig/tests/test_etag.py
+++ cachecontrol-0.12.12/tests/test_etag.py
@@ -1,6 +1,8 @@
 # SPDX-FileCopyrightText: 2015 Eric Larson
 #
 # SPDX-License-Identifier: Apache-2.0
+from contextlib import ExitStack
+from contextlib import suppress
 
 import pytest
 
@@ -134,11 +136,20 @@ class TestReleaseConnection(object):
 
         resp = Mock(status=304, headers={})
 
-        # This is how the urllib3 response is created in
-        # requests.adapters
-        response_mod = "requests.adapters.HTTPResponse.from_httplib"
+        # These are various ways the the urllib3 response can created
+        # in requests.adapters.  Which one is actually used depends
+        # on which version if `requests` is in use, as well as perhaps
+        # other parameters.
+        response_mods = [
+            "requests.adapters.HTTPResponse.from_httplib",
+            "urllib3.HTTPConnectionPool.urlopen",
+        ]
+
+        with ExitStack() as stack:
+            for mod in response_mods:
+                with suppress(ImportError, AttributeError):
+                    stack.enter_context(patch(mod, Mock(return_value=resp)))
 
-        with patch(response_mod, Mock(return_value=resp)):
             sess.get(etag_url)
             assert resp.read.called
             assert resp.release_conn.called
Index: cachecontrol-0.12.12/tests/test_vary.py
===================================================================
--- cachecontrol-0.12.12.orig/tests/test_vary.py
+++ cachecontrol-0.12.12/tests/test_vary.py
@@ -33,7 +33,6 @@ class TestVary(object):
             cached.status == resp.raw.status,
             cached.version == resp.raw.version,
             cached.reason == resp.raw.reason,
-            cached.strict == resp.raw.strict,
             cached.decode_content == resp.raw.decode_content,
         ]
 

Reply via email to