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, ]