diff --git a/0002-python-pycurl-7.43.0-tls-backend.patch b/0002-python-pycurl-7.43.0-tls-backend.patch index 3cdbff9..97ce88e 100644 --- a/0002-python-pycurl-7.43.0-tls-backend.patch +++ b/0002-python-pycurl-7.43.0-tls-backend.patch @@ -8,27 +8,64 @@ This effectively reverts the following commit: Bug: https://bugzilla.redhat.com/1446850 --- - src/module.c | 24 +----------------------- - 1 file changed, 1 insertion(+), 23 deletions(-) + src/module.c | 62 ---------------------------------------------------- + 1 file changed, 62 deletions(-) diff --git a/src/module.c b/src/module.c index a7108a0..af79875 100644 --- a/src/module.c +++ b/src/module.c -@@ -322,7 +322,7 @@ initpycurl(void) - { - PyObject *m, *d; - const curl_version_info_data *vi; -- const char *libcurl_version, *runtime_ssl_lib; -+ const char *libcurl_version; - size_t libcurl_version_len, pycurl_version_len; - PyObject *xio_module = NULL; +@@ -328,15 +328,6 @@ initpycurl(void) PyObject *collections_module = NULL; -@@ -345,28 +345,6 @@ initpycurl(void) + PyObject *named_tuple = NULL; + PyObject *arglist = NULL; +-#ifdef HAVE_CURL_GLOBAL_SSLSET +- const curl_ssl_backend **ssllist = NULL; +- CURLsslset sslset; +- int i, runtime_supported_backend_found = 0; +- char backends[200]; +- size_t backends_len = 0; +-#else +- const char *runtime_ssl_lib; +-#endif + + assert(Curl_Type.tp_weaklistoffset > 0); + assert(CurlMulti_Type.tp_weaklistoffset > 0); +@@ -354,59 +345,6 @@ initpycurl(void) goto error; } - /* Our compiled crypto locks should correspond to runtime ssl library. */ +-#ifdef HAVE_CURL_GLOBAL_SSLSET +- sslset = curl_global_sslset(-1, COMPILE_SSL_LIB, &ssllist); +- if (sslset != CURLSSLSET_OK) { +- if (sslset == CURLSSLSET_NO_BACKENDS) { +- strcpy(backends, "none"); +- } else { +- for (i = 0; ssllist[i] != NULL; i++) { +- switch (ssllist[i]->id) { +- case CURLSSLBACKEND_OPENSSL: +- case CURLSSLBACKEND_GNUTLS: +- case CURLSSLBACKEND_NSS: +- case CURLSSLBACKEND_WOLFSSL: +- case CURLSSLBACKEND_MBEDTLS: +- runtime_supported_backend_found = 1; +- break; +- default: +- break; +- } +- if (backends_len < sizeof(backends)) { +- backends_len += snprintf(backends + backends_len, sizeof(backends) - backends_len, "%s%s", (i > 0) ? ", " : "", ssllist[i]->name); +- } +- } +- } +- /* Don't error if both the curl library and pycurl itself is compiled without SSL */ +- if (runtime_supported_backend_found || COMPILE_SUPPORTED_SSL_BACKEND_FOUND) { +- PyErr_Format(PyExc_ImportError, "pycurl: libcurl link-time ssl backends (%s) do not include compile-time ssl backend (%s)", backends, COMPILE_SSL_LIB); +- goto error; +- } +- } +-#else - if (vi->ssl_version == NULL) { - runtime_ssl_lib = "none/other"; - } else if (!strncmp(vi->ssl_version, "OpenSSL/", 8) || !strncmp(vi->ssl_version, "LibreSSL/", 9) || @@ -49,6 +86,7 @@ index a7108a0..af79875 100644 - PyErr_Format(PyExc_ImportError, "pycurl: libcurl link-time ssl backend (%s) is different from compile-time ssl backend (%s)", runtime_ssl_lib, COMPILE_SSL_LIB); - goto error; - } +-#endif - /* Initialize the type of the new type objects here; doing it here * is required for portability to Windows without requiring C++. */ diff --git a/python-pycurl.spec b/python-pycurl.spec index a9c2cad..bba910e 100644 --- a/python-pycurl.spec +++ b/python-pycurl.spec @@ -15,13 +15,15 @@ %global modname pycurl Name: python-%{modname} -Version: 7.43.0.5 -Release: 6%{?dist} +Version: 7.43.0.6 +Release: 1%{?dist} Summary: A Python interface to libcurl License: LGPLv2+ or MIT URL: http://pycurl.sourceforge.net/ -Source0: https://dl.bintray.com/pycurl/pycurl/pycurl-%{version}.tar.gz +# reported as unavailable: https://github.com/pycurl/pycurl/issues/651 +# Source0: https://dl.bintray.com/pycurl/pycurl/pycurl-%%{version}.tar.gz +Source0: https://github.com/pycurl/pycurl/archive/REL_7_43_0_6.tar.gz#/pycurl-%{version}.tar.gz # drop link-time vs. run-time TLS backend check (#1446850) Patch2: 0002-python-pycurl-7.43.0-tls-backend.patch @@ -84,7 +86,7 @@ Python 3 version. %endif %prep -%autosetup -n %{modname}-%{version} -p1 +%autosetup -n %{modname}-REL_7_43_0_6 -p1 # remove windows-specific build script rm -f winbuild.py @@ -107,11 +109,18 @@ sed -e 's/ --show-skipped//' \ -e 's/ --with-flaky//' \ -i tests/run.sh +# use %%{python3} instead of python to invoke tests, to make them work on f34 +sed -e 's|python |%{python3} |' -i tests/ext/test-suite.sh +sed -e 's|^#! */usr/bin/env python$|#! /usr/bin/env %{python3}|' \ + -i tests/*.py tests/bin/* setup.py + %build %if %{with python2} +%{python2} setup.py docstrings %py2_build -- --with-openssl %endif %if %{with python3} +%{python3} setup.py docstrings %py3_build -- --with-openssl %endif @@ -157,6 +166,9 @@ rm -fv tests/fake-curl/libcurl/*.so %endif %changelog +* Thu Sep 03 2020 Kamil Dudka - 7.43.0.6-1 +- update to 7.43.0.6 + * Tue Aug 04 2020 Kamil Dudka - 7.43.0.5-6 - relax crypto policy for the test-suite to make it pass again (#1863711) diff --git a/sources b/sources index 2300261..4e1d110 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pycurl-7.43.0.5.tar.gz) = 835ed6cca25d2dd3e7084f905f3b0b082d4af04761fa9d4dc4714865863a97c095c08e6f55ada91b9f60ccad7838328a82fb2add8108aea12056200cf1f12845 +SHA512 (pycurl-7.43.0.6.tar.gz) = ea0160794d30758c8163f1f82fc6315c27f2cfd1b9981a7c349a48cee892fc2307e3edd25456378f1a780bc134fca199d8d6431310fd47b2ca6126a8822fea40