Page MenuHomeSolus

D11786.id28637.diff
No OneTemporary

D11786.id28637.diff

diff --git a/abi_used_symbols b/abi_used_symbols
--- a/abi_used_symbols
+++ b/abi_used_symbols
@@ -12,6 +12,7 @@
libc.so.6:stderr
libc.so.6:strchr
libc.so.6:strlen
+libc.so.6:strncmp
libcrypto.so.1.1:BIO_free
libcrypto.so.1.1:BIO_new_mem_buf
libcrypto.so.1.1:ERR_clear_error
diff --git a/files/skip-incompatible-libcurl-tests.patch b/files/skip-incompatible-libcurl-tests.patch
new file mode 100644
--- /dev/null
+++ b/files/skip-incompatible-libcurl-tests.patch
@@ -0,0 +1,112 @@
+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/option_constants_test.py | 9 ++++++++-
+ tests/util.py | 15 +++++++++++++++
+ 2 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/tests/option_constants_test.py b/tests/option_constants_test.py
+index 20228c66f..8b3bd9c69 100644
+--- a/tests/option_constants_test.py
++++ b/tests/option_constants_test.py
+@@ -164,9 +164,16 @@ def test_gssapi_delegation_options(self):
+ 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)
+diff --git a/tests/util.py b/tests/util.py
+index e12e25152..37ad2f9ab 100644
+--- a/tests/util.py
++++ b/tests/util.py
+@@ -122,6 +122,21 @@ def decorated(*args, **kwargs):
+
+ return decorator
+
++def removed_in_libcurl(major, minor, patch):
++ import nose.plugins.skip
++
++ def decorator(fn):
++ @functools.wraps(fn)
++ def decorated(*args, **kwargs):
++ if not pycurl_version_less_than(major, minor, patch):
++ raise nose.plugins.skip.SkipTest('libcurl >= %d.%d.%d' % (major, minor, patch))
++
++ return fn(*args, **kwargs)
++
++ return decorated
++
++ return decorator
++
+ def only_ssl(fn):
+ import nose.plugins.skip
+ import pycurl
+
+From a03c4a4ea3fb42b347bada24faae1d31c7d0c90e Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Tue, 1 Jun 2021 16:56:40 +0200
+Subject: [PATCH 2/2] failonerror_test: skip the test with curl-7.75.0+
+
+libcurl does not provide the reason phrase from HTTP status line
+in the error buffer any more:
+
+ https://github.com/curl/curl/issues/6615
+
+Fixes: https://github.com/pycurl/pycurl/issues/679
+---
+ tests/failonerror_test.py | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/tests/failonerror_test.py b/tests/failonerror_test.py
+index dc4d8cd6b..519aed821 100644
+--- a/tests/failonerror_test.py
++++ b/tests/failonerror_test.py
+@@ -21,6 +21,8 @@ def tearDown(self):
+ # 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 @@ def test_failonerror(self):
+ # 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 @@ def test_failonerror_status_line_invalid_utf8_python2(self):
+ # 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()
+
diff --git a/package.yml b/package.yml
--- a/package.yml
+++ b/package.yml
@@ -1,6 +1,6 @@
name : python-pycurl
version : 7.43.0.3
-release : 11
+release : 12
source :
- https://files.pythonhosted.org/packages/source/p/pycurl/pycurl-7.43.0.3.tar.gz : 6f08330c5cf79fa8ef68b9912b9901db7ffd34b63e225dce74db56bb21deda8e
homepage : http://pycurl.io/
@@ -8,7 +8,8 @@
component : system.base
summary : Curl module for python
description: |
- PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features
+ PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.
+ccache : no
builddeps :
- pkgconfig(libcurl)
- pyflakes
@@ -17,6 +18,8 @@
- python-nose
- python-setuptools
setup : |
+ %patch -p1 < $pkgfiles/skip-incompatible-libcurl-tests.patch
+
# remove bundled libraries
rm -f tests/fake-curl/libcurl/*.so
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -9,14 +9,14 @@
<License>MIT</License>
<PartOf>system.base</PartOf>
<Summary xml:lang="en">Curl module for python</Summary>
- <Description xml:lang="en">PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features
+ <Description xml:lang="en">PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.
</Description>
<Archive type="binary" sha1sum="79eb0752a961b8e0d15c77d298c97498fbc89c5a">https://getsol.us/sources/README.Solus</Archive>
</Source>
<Package>
<Name>python-pycurl</Name>
<Summary xml:lang="en">Curl module for python</Summary>
- <Description xml:lang="en">PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features
+ <Description xml:lang="en">PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.
</Description>
<PartOf>system.base</PartOf>
<Files>
@@ -59,8 +59,8 @@
</Files>
</Package>
<History>
- <Update release="11">
- <Date>2021-01-20</Date>
+ <Update release="12">
+ <Date>2021-09-01</Date>
<Version>7.43.0.3</Version>
<Comment>Packaging update</Comment>
<Name>Algent Albrahimi</Name>

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 11, 7:57 PM (2 h, 53 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5831468
Default Alt Text
D11786.id28637.diff (7 KB)

Event Timeline