From 9941f0a3bfe78e97f54b545e34219a80df6e3135ec5f5b0e9571d65f2fd33bea Mon Sep 17 00:00:00 2001 From: Daniel Garcia Date: Tue, 9 May 2023 11:45:14 +0000 Subject: [PATCH] - Add urllib3-2.patch to make it compatible with urllib3 >= 2.0.0 gh#msabramo/requests-unixsocket#69 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requests-unixsocket?expand=0&rev=9 --- python-requests-unixsocket.changes | 6 ++++ python-requests-unixsocket.spec | 10 ++++--- urllib3-2.patch | 45 ++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 urllib3-2.patch diff --git a/python-requests-unixsocket.changes b/python-requests-unixsocket.changes index 855ad68..39f6365 100644 --- a/python-requests-unixsocket.changes +++ b/python-requests-unixsocket.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 9 11:44:12 UTC 2023 - Daniel Garcia + +- Add urllib3-2.patch to make it compatible with urllib3 >= 2.0.0 + gh#msabramo/requests-unixsocket#69 + ------------------------------------------------------------------- Mon Jan 10 22:30:46 UTC 2022 - Dirk Müller diff --git a/python-requests-unixsocket.spec b/python-requests-unixsocket.spec index 95e3e08..47758fb 100644 --- a/python-requests-unixsocket.spec +++ b/python-requests-unixsocket.spec @@ -1,7 +1,7 @@ # # spec file for package python-requests-unixsocket # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,7 +16,6 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-requests-unixsocket Version: 0.3.0 Release: 0 @@ -25,6 +24,8 @@ License: Apache-2.0 Group: Development/Languages/Python URL: https://github.com/msabramo/requests-unixsocket Source: https://files.pythonhosted.org/packages/source/r/requests-unixsocket/requests-unixsocket-%{version}.tar.gz +# PATCH-FIX-UPSTREAM urllib3-2.patch -- gh#msabramo/requests-unixsocket#69 +Patch0: urllib3-2.patch BuildRequires: %{python_module pbr} BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -43,7 +44,7 @@ With this module, python-requests is enhanced by the ability to talk HTTP via a UNIX domain socket. %prep -%setup -q -n requests-unixsocket-%{version} +%autosetup -p1 -n requests-unixsocket-%{version} # do not require additional test deps sed -i -e '/addopts/d' pytest.ini @@ -60,6 +61,7 @@ sed -i -e '/addopts/d' pytest.ini %files %{python_files} %doc AUTHORS ChangeLog README.rst %license LICENSE -%{python_sitelib}/* +%{python_sitelib}/requests_unixsocket +%{python_sitelib}/requests_unixsocket-%{version}*-info %changelog diff --git a/urllib3-2.patch b/urllib3-2.patch new file mode 100644 index 0000000..14e8adb --- /dev/null +++ b/urllib3-2.patch @@ -0,0 +1,45 @@ +From 5a614f60e7b3639758a6b77691b4e0c0d6827e94 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Roukala=20=28n=C3=A9=20Peres=29?= + +Date: Fri, 5 May 2023 09:23:41 +0300 +Subject: [PATCH] Inherit HTTPConnection through urllib3.connection, not + httplib + +By inheriting from `urllib3.connection.HTTPConnection` (that inherits +from `httplib.HTTPConnection` itself), we can adapt to the internal +changes in urllib3 2.0 that added a `request()` method that is +incompatible with httplib.HTTPConnection.request. + +This fixes the incompatibility between urllib3 2.0 and requests 1.26+, +which was the first version that stopped vendoring urllib3. + +Reference: https://github.com/docker/docker-py/issues/3113#issuecomment-1531570788 +--- + requests_unixsocket/adapters.py | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +Index: requests-unixsocket-0.3.0/requests_unixsocket/adapters.py +=================================================================== +--- requests-unixsocket-0.3.0.orig/requests_unixsocket/adapters.py ++++ requests-unixsocket-0.3.0/requests_unixsocket/adapters.py +@@ -4,11 +4,6 @@ from requests.adapters import HTTPAdapte + from requests.compat import urlparse, unquote + + try: +- import http.client as httplib +-except ImportError: +- import httplib +- +-try: + from requests.packages import urllib3 + except ImportError: + import urllib3 +@@ -16,7 +11,7 @@ except ImportError: + + # The following was adapted from some code from docker-py + # https://github.com/docker/docker-py/blob/master/docker/transport/unixconn.py +-class UnixHTTPConnection(httplib.HTTPConnection, object): ++class UnixHTTPConnection(urllib3.connection.HTTPConnection, object): + + def __init__(self, unix_socket_url, timeout=60): + """Create an HTTP connection to a unix domain socket