forked from pool/python-pycurl
Accepting request 897519 from devel:languages:python
- Add curl7770_compatibility.patch to have package compatible with curl 7.77.0. OBS-URL: https://build.opensuse.org/request/show/897519 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pycurl?expand=0&rev=38
This commit is contained in:
89
curl7770_compatibility.patch
Normal file
89
curl7770_compatibility.patch
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
From 18f1103fb9c6b4dc2233e323e3df1818db25c209 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Thu, 27 May 2021 10:52:09 +0200
|
||||||
|
Subject: [PATCH 1/2] option_constants_test: skip check of SSLVERSION_SSLv*
|
||||||
|
|
||||||
|
... with curl-7.77.0, where they started to return
|
||||||
|
CURLE_BAD_FUNCTION_ARGUMENT:
|
||||||
|
|
||||||
|
https://github.com/curl/curl/pull/6773
|
||||||
|
|
||||||
|
Closes: https://github.com/pycurl/pycurl/pull/689
|
||||||
|
---
|
||||||
|
tests/failonerror_test.py | 6 ++++++
|
||||||
|
tests/option_constants_test.py | 9 ++++++++-
|
||||||
|
tests/util.py | 14 ++++++++++++++
|
||||||
|
3 files changed, 28 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/tests/failonerror_test.py
|
||||||
|
+++ b/tests/failonerror_test.py
|
||||||
|
@@ -21,6 +21,8 @@ class FailonerrorTest(unittest.TestCase)
|
||||||
|
# not sure what the actual min is but 7.26 is too old
|
||||||
|
# and does not include status text, only the status code
|
||||||
|
@util.min_libcurl(7, 38, 0)
|
||||||
|
+ # no longer supported by libcurl: https://github.com/curl/curl/issues/6615
|
||||||
|
+ @util.removed_in_libcurl(7, 75, 0)
|
||||||
|
def test_failonerror(self):
|
||||||
|
self.curl.setopt(pycurl.URL, 'http://%s:8380/status/403' % localhost)
|
||||||
|
sio = util.BytesIO()
|
||||||
|
@@ -41,6 +43,8 @@ class FailonerrorTest(unittest.TestCase)
|
||||||
|
# not sure what the actual min is but 7.26 is too old
|
||||||
|
# and does not include status text, only the status code
|
||||||
|
@util.min_libcurl(7, 38, 0)
|
||||||
|
+ # no longer supported by libcurl: https://github.com/curl/curl/issues/6615
|
||||||
|
+ @util.removed_in_libcurl(7, 75, 0)
|
||||||
|
def test_failonerror_status_line_invalid_utf8_python2(self):
|
||||||
|
self.curl.setopt(pycurl.URL, 'http://%s:8380/status_invalid_utf8' % localhost)
|
||||||
|
sio = util.BytesIO()
|
||||||
|
@@ -61,6 +65,8 @@ class FailonerrorTest(unittest.TestCase)
|
||||||
|
# not sure what the actual min is but 7.26 is too old
|
||||||
|
# and does not include status text, only the status code
|
||||||
|
@util.min_libcurl(7, 38, 0)
|
||||||
|
+ # no longer supported by libcurl: https://github.com/curl/curl/issues/6615
|
||||||
|
+ @util.removed_in_libcurl(7, 75, 0)
|
||||||
|
def test_failonerror_status_line_invalid_utf8_python3(self):
|
||||||
|
self.curl.setopt(pycurl.URL, 'http://%s:8380/status_invalid_utf8' % localhost)
|
||||||
|
sio = util.BytesIO()
|
||||||
|
--- a/tests/option_constants_test.py
|
||||||
|
+++ b/tests/option_constants_test.py
|
||||||
|
@@ -163,9 +163,16 @@ class OptionConstantsTest(unittest.TestC
|
||||||
|
def test_sslversion_options(self):
|
||||||
|
curl = pycurl.Curl()
|
||||||
|
curl.setopt(curl.SSLVERSION, curl.SSLVERSION_DEFAULT)
|
||||||
|
+ curl.setopt(curl.SSLVERSION, curl.SSLVERSION_TLSv1)
|
||||||
|
+ curl.close()
|
||||||
|
+
|
||||||
|
+ # SSLVERSION_SSLv* return CURLE_BAD_FUNCTION_ARGUMENT with curl-7.77.0
|
||||||
|
+ @util.removed_in_libcurl(7, 77, 0)
|
||||||
|
+ @util.only_ssl
|
||||||
|
+ def test_legacy_sslversion_options(self):
|
||||||
|
+ curl = pycurl.Curl()
|
||||||
|
curl.setopt(curl.SSLVERSION, curl.SSLVERSION_SSLv2)
|
||||||
|
curl.setopt(curl.SSLVERSION, curl.SSLVERSION_SSLv3)
|
||||||
|
- curl.setopt(curl.SSLVERSION, curl.SSLVERSION_TLSv1)
|
||||||
|
curl.close()
|
||||||
|
|
||||||
|
@util.min_libcurl(7, 34, 0)
|
||||||
|
--- a/tests/util.py
|
||||||
|
+++ b/tests/util.py
|
||||||
|
@@ -115,6 +115,20 @@ def min_libcurl(major, minor, patch):
|
||||||
|
|
||||||
|
return decorator
|
||||||
|
|
||||||
|
+def removed_in_libcurl(major, minor, patch):
|
||||||
|
+
|
||||||
|
+ def decorator(fn):
|
||||||
|
+ @functools.wraps(fn)
|
||||||
|
+ def decorated(*args, **kwargs):
|
||||||
|
+ if not pycurl_version_less_than(major, minor, patch):
|
||||||
|
+ raise unittest.SkipTest('libcurl >= %d.%d.%d' % (major, minor, patch))
|
||||||
|
+
|
||||||
|
+ return fn(*args, **kwargs)
|
||||||
|
+
|
||||||
|
+ return decorated
|
||||||
|
+
|
||||||
|
+ return decorator
|
||||||
|
+
|
||||||
|
def only_ssl(fn):
|
||||||
|
import pycurl
|
||||||
|
|
@@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 4 13:59:08 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add curl7770_compatibility.patch to have package compatible
|
||||||
|
with curl 7.77.0.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 8 09:27:05 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
|
Mon Mar 8 09:27:05 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-pycurl
|
# spec file
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
@@ -44,6 +44,9 @@ Patch4: remove_nose.patch
|
|||||||
# PATCH-FIX-OPENSUSE make-leap15-compat.patch mcepl@suse.com
|
# PATCH-FIX-OPENSUSE make-leap15-compat.patch mcepl@suse.com
|
||||||
# Make tests passing with Leap 15.2
|
# Make tests passing with Leap 15.2
|
||||||
Patch5: make-leap15-compat.patch
|
Patch5: make-leap15-compat.patch
|
||||||
|
# PATCH-FIX-UPSTREAM curl7770_compatibility.patch gh#pycurl/pycurl#689 mcepl@suse.com
|
||||||
|
# Provide compatiblity with curl 7.77.0+
|
||||||
|
Patch6: curl7770_compatibility.patch
|
||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
Reference in New Issue
Block a user