Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pycurl for openSUSE:Factory checked in at 2023-01-04 17:50:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pycurl (Old) and /work/SRC/openSUSE:Factory/.python-pycurl.new.1563 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pycurl" Wed Jan 4 17:50:45 2023 rev:40 rq:1046272 version:7.45.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pycurl/python-pycurl.changes 2022-04-30 00:44:35.450902126 +0200 +++ /work/SRC/openSUSE:Factory/.python-pycurl.new.1563/python-pycurl.changes 2023-01-04 17:50:54.733583771 +0100 @@ -1,0 +2,11 @@ +Mon Jan 2 18:51:53 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 7.45.2: + * Python 3.9 compatibility for Py_TRASHCAN_SAFE_BEGIN + * Add support for CURL_HTTP_VERSION_3 + * Add CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS options + * Added HTTP09_ALLOWED option + * Removed use of distutils +- drop curl-789-error-message.patch (upstream) + +------------------------------------------------------------------- Old: ---- curl-789-error-message.patch pycurl-7.45.1.tar.gz New: ---- pycurl-7.45.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pycurl.spec ++++++ --- /var/tmp/diff_new_pack.o3XxO7/_old 2023-01-04 17:50:55.425587850 +0100 +++ /var/tmp/diff_new_pack.o3XxO7/_new 2023-01-04 17:50:55.429587874 +0100 @@ -1,7 +1,7 @@ # # spec file # -# 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 @@ -27,7 +27,7 @@ %bcond_with test %endif Name: python-pycurl%{psuffix} -Version: 7.45.1 +Version: 7.45.2 Release: 0 Summary: PycURL -- cURL library module License: LGPL-2.1-or-later AND MIT @@ -41,8 +41,6 @@ # PATCH-FIX-OPENSUSE make-leap15-compat.patch mc...@suse.com # Make tests passing with Leap 15.2 Patch3: make-leap15-compat.patch -# PATCH-FIX-OPENSUSE Handle missing ! in a returned error message -Patch4: curl-789-error-message.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} BuildRequires: fdupes ++++++ pycurl-7.45.1.tar.gz -> pycurl-7.45.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/AUTHORS new/pycurl-7.45.2/AUTHORS --- old/pycurl-7.45.1/AUTHORS 2022-03-10 00:15:49.000000000 +0100 +++ new/pycurl-7.45.2/AUTHORS 2022-12-16 20:25:22.000000000 +0100 @@ -9,43 +9,60 @@ Aaron Hill <visine19 at hotmail.com> Adam Guthrie <therigu at users.sourceforge.net> Adam Jacob Muller <adam at isprime.com> +Akiomi Kamakura <akiomik at gmail.com> +Alexandre Pion <pion at afnic.fr> +Amir Rossert <amir.rossert at safebreach.com> Amit Mongia <amit_mongia at hotmail.com> Andjelko Horvat <comel at vingd.com> Arshad Khan <khan.m.arshad at gmail.com> +Artur Sobierak <asobierak at gmail.com> +Ashley Whetter <ashleyw at activestate.com> Barry Warsaw <barry at python.org> Bastian Kleineidam Benjamin Peterson <benjamin at python.org> +Bill Collins <bill.collins at hp.com> +Bo Anderson <mail at boanderson.me> Casey Miller <camiller at linkedin.com> +Chih-Hsuan Yen <yan12125 at gmail.com> +Christian Clauss <cclauss at me.com> Christopher Warner <cwarner at kernelcode.com> Clint Clayton <clintclayton at me.com> Conrad Steenberg <conrad at hep.caltech.edu> Daniel Pena Arteaga <dpena at ph.tum.de> Daniel Stenberg <daniel at haxx.se> decitre <decitre at gmail.com> +Dima Tisnek <dimaqq at gmail.com> Dmitriy Taychenachev <dmitriy.taychenachev at skypicker.com> Dmitry Ketov <dketov at gmail.com> Domenico Andreoli <cavok at libero.it> Dominique <curl-and-python at d242.net> +Eneas U de Queiroz <cotequeiroz at gmail.com> Eric S. Raymond <esr at thyrsus.com> +Felix Yan <felixonmars at archlinux.org> Francisco Alves <chico at corp.globo.com> Gabi Davar <grizzly.nyo at gmail.com> Gisle Vanem <gvanem at yahoo.no> Gregory Petukhov <lorien at lorien.name> +Hasan <aliyevH at hotmail.com> Hugo <hugovk at users.noreply.github.com> Iain R. Learmonth <irl at fsfe.org> ideal <idealities at gmail.com> Jakob Truelsen <jakob at scalgo.com> Jakub Wilk <jwilk at jwilk.net> +James Deucker <bitwisecook at users.noreply.github.com> Jan Kryl <jan.kryl at nexenta.com> Jayne <corvine at gmail.com> James Deucker <bitwisecook at users.noreply.github.com> JiCiT <jason at infinitebubble.com> Jim Patterson +Josef Schlehofer <pepe.schlehofer at gmail.com> Jozef Melicher <jozef.melicher at eset.sk> K.S.Sreeram <sreeram at tachyontech.net> Kamil Dudka <kdudka at redhat.com> Kevin Ko <kevin.s.ko at gmail.com> +Kevin Schlosser <drschlosser at hotmail.com> Khavish Anshudass Bhundoo <khavishbhundoo at users.noreply.github.com> +Kian-Meng Ang <kianmeng at cpan.org> kxrd <onyeabor at riseup.net> Lipin Dmitriy <blackwithwhite666 at gmail.com> Léo El Amri <leo at superlel.me> @@ -56,25 +73,41 @@ Markus <nepenthesdev at gmail.com> Martin Muenstermann <mamuema at sourceforge.net> Matt King <matt at gnik.com> +Michael Coughlin <michael.w.coughlin at gmail.com> +Michael Treanor <26148512+skeptycal at users.noreply.github.com> +MichaŠGórny <mgorny at gentoo.org> Nelson Chen <crazysim at gmail.com> Nick Pilon <npilon at oreilly.com> +Nicolas Pauss <nicolas.pauss at intersec.com> Oren <orenyomtov at users.noreply.github.com> Orion Poplawski <orion at cora.nwra.com> Oskari Saarenmaa <os at ohmu.fi> Paul Pacheco +Pierre Grimaud <grimaud.pierre at gmail.com> +René Dudfield <renesd at gmail.com> +resokou <resokou at gmail.com> Roland Sommer <rol at ndsommer.de> Romuald Brunet <romuald at gandi.net> Romulo A. Ceccon <romuloceccon at gmail.com> +Russell McConnachie <okanaganrusty at mcconnachie.ca> +Russell McConnachie <pmcconna at cisco.com> Samuel Dion-Girardeau <samuel.diongirardeau at gmail.com> +Samuel Henrique <samueloph at debian.org> +Scott Talbert <swt at techie.net> +Simon Legner <Simon.Legner at gmail.com> Srinivas <spg349 at nyu.edu> +Steve Kowalik <steven at wedontsleep.org> +Subin <eourm20 at gmail.com> Tal Einat <tal.einat at socialcodeinc.com> Thomas Hunger <teh at camvine.org> Tino Lange <Tino.Lange at gmx.de> toddrme2178 <toddrme2178 at gmail.com> Tom Pierce <tom.pierce0 at gmail.com> Victor Lascurain <bittor at eleka.net> +Vincent Philippon <Vincent.Philippon at ubisoft.com> Vitaly Murashev <vitaly.murashev at gmail.com> Vitezslav Cizek <vcizek at suse.com> +vmurashev <vitaly.murashev at gmail.com> Wei C <gitsouler at users.noreply.github.com> Whitney Sorenson <wsorenson at gmail.com> Wim Lewis <wiml at users.sourceforge.net> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/ChangeLog new/pycurl-7.45.2/ChangeLog --- old/pycurl-7.45.1/ChangeLog 2022-03-13 08:12:05.000000000 +0100 +++ new/pycurl-7.45.2/ChangeLog 2022-12-16 20:31:12.000000000 +0100 @@ -1,8 +1,21 @@ +Version 7.45.2 [requires libcurl-7.19.0 or better] - 2022-12-16 +--------------------------------------------------------------- + + * Python 3.9 compatibility for Py_TRASHCAN_SAFE_BEGIN + (patch by Scott Talbert). + * Add support for CURL_HTTP_VERSION_3 (patch by Scott Talbert). + * Add CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS options + (patch by Scott Talbert). + * Added HTTP09_ALLOWED option (patch by Scott Talbert). + * Removed use of distutils (patch by Scott Talbert). + + Version 7.45.1 [requires libcurl-7.19.0 or better] - 2022-03-13 --------------------------------------------------------------- * Fixed build against libcurl < 7.64.1 (patch by Scott Talbert). + Version 7.45.0 [requires libcurl-7.64.1 or better] - 2022-03-09 --------------------------------------------------------------- @@ -21,12 +34,14 @@ * Add support for SecureTransport SSL backend (MacOS) (patch by Scott Talbert). + Version 7.44.1 [requires libcurl-7.19.0 or better] - 2021-08-15 --------------------------------------------------------------- * Fixed Python thread initialization causing hangs on operations (patch by Scott Talbert). + Version 7.44.0 [requires libcurl-7.19.0 or better] - 2021-08-08 --------------------------------------------------------------- @@ -47,6 +62,7 @@ * Compilation fixed against Python 3.10 alpha (patch by Kamil Dudka). + Version 7.43.0.6 [requires libcurl-7.19.0 or better] - 2020-09-02 ----------------------------------------------------------------- @@ -77,6 +93,7 @@ * surrogateescape error handler is used in multi_info_read to handle invalid UTF-8. + Version 7.43.0.5 [requires libcurl-7.19.0 or better] - 2020-01-29 ----------------------------------------------------------------- @@ -547,7 +564,7 @@ * Added CURLE_NOT_BUILT_IN and CURLE_UNKNOWN_OPTION (libcurl 7.21.5+). * Added CURL_SEEKFUNC_OK, CURL_SEEKFUNC_FAIL and - CURL_SEEKFUNC_CANTSEEK. All contstants require libcurl 7.19.5+; + CURL_SEEKFUNC_CANTSEEK. All constants require libcurl 7.19.5+; numeric values of CURL_SEEKFUNC_OK and CURL_SEEKFUNC_FAIL were understood earlier but constants only exist as of libcurl 7.19.5. @@ -1420,7 +1437,7 @@ 2002-07-16 Markus F.X.J. Oberhumer <mfx> * Under Python 2.2 or better, Curl and CurlMulti objects now - automatically participate in cyclic garbarge collection + automatically participate in cyclic garbage collection (using the gc module). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/Makefile new/pycurl-7.45.2/Makefile --- old/pycurl-7.45.1/Makefile 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/Makefile 2022-12-16 20:41:00.000000000 +0100 @@ -9,6 +9,9 @@ PYTEST = pytest PYFLAKES = pyflakes +PYTHONMAJOR=$$($(PYTHON) -V 2>&1 |awk '{print $$2}' |awk -F. '{print $$1}') +PYTHONMINOR=$$($(PYTHON) -V 2>&1 |awk '{print $$2}' |awk -F. '{print $$2}') + # -c on linux # freebsd does not understand -c CHMOD_VERBOSE=-v @@ -111,8 +114,7 @@ # rails-style alias c: console console: - PYTHONSUFFIX=$$(python -V 2>&1 |awk '{print $$2}' |awk -F. '{print $$1 "." $$2}') && \ - PYTHONPATH=$$(ls -d build/lib.*$$PYTHONSUFFIX):$$PYTHONPATH \ + PYTHONPATH=$$(ls -d build/lib.*$$PYTHONMAJOR*$$PYTHONMINOR):$$PYTHONPATH \ $(PYTHON) # (needs GNU binutils) @@ -145,8 +147,7 @@ docs: build mkdir -p build/docstrings for file in doc/docstrings/*.rst; do tail -n +3 $$file >build/docstrings/`basename $$file`; done - PYTHONSUFFIX=$$($(PYTHON) -V 2>&1 |awk '{print $$2}' |awk -F. '{print $$1 "." $$2}') && \ - PYTHONPATH=$$(ls -d build/lib.*$$PYTHONSUFFIX):$$PYTHONPATH \ + PYTHONPATH=$$(ls -d build/lib.*$$PYTHONMAJOR*$$PYTHONMINOR):$$PYTHONPATH \ $(PYTHON) -m sphinx doc build/doc cp ChangeLog build/doc @@ -157,8 +158,7 @@ # sphinx-docs has an -a option but it does not seem to always # rebuild everything rm -rf build/doc - PYTHONSUFFIX=$$($(PYTHON) -V 2>&1 |awk '{print $$2}' |awk -F. '{print $$1 "." $$2}') && \ - PYTHONPATH=$$(ls -d build/lib.*$$PYTHONSUFFIX):$$PYTHONPATH \ + PYTHONPATH=$$(ls -d build/lib.*$$PYTHONMAJOR*$$PYTHONMINOR):$$PYTHONPATH \ $(PYTHON) -m sphinx doc build/doc cp ChangeLog build/doc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/PKG-INFO new/pycurl-7.45.2/PKG-INFO --- old/pycurl-7.45.1/PKG-INFO 2022-03-13 08:13:38.993937500 +0100 +++ new/pycurl-7.45.2/PKG-INFO 2022-12-16 20:42:08.906181000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pycurl -Version: 7.45.1 +Version: 7.45.2 Summary: PycURL -- A Python Interface To The cURL library Home-page: http://pycurl.io/ Author: Kjetil Jacobsen, Markus F.X.J. Oberhumer, Oleg Pudeyev @@ -110,5 +110,3 @@ .. _urllib: http://docs.python.org/library/urllib.html .. _COPYING-LGPL: https://raw.githubusercontent.com/pycurl/pycurl/master/COPYING-LGPL .. _COPYING-MIT: https://raw.githubusercontent.com/pycurl/pycurl/master/COPYING-MIT - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/RELEASE-NOTES.rst new/pycurl-7.45.2/RELEASE-NOTES.rst --- old/pycurl-7.45.1/RELEASE-NOTES.rst 2022-03-13 08:13:13.000000000 +0100 +++ new/pycurl-7.45.2/RELEASE-NOTES.rst 2022-12-16 20:32:49.000000000 +0100 @@ -1,6 +1,12 @@ Release Notes ============= +PycURL 7.45.2 - 2022-12-16 +-------------------------- + +This release fixes several minor issues and adds support for several libcurl +options. + PycURL 7.45.1 - 2022-03-13 -------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/doc/conf.py new/pycurl-7.45.2/doc/conf.py --- old/pycurl-7.45.1/doc/conf.py 2022-03-13 08:12:29.000000000 +0100 +++ new/pycurl-7.45.2/doc/conf.py 2022-12-16 20:31:31.000000000 +0100 @@ -54,9 +54,9 @@ # built documents. # # The short X.Y version. -version = '7.45.1' +version = '7.45.2' # The full version, including alpha/beta/rc tags. -release = '7.45.1' +release = '7.45.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/doc/unimplemented.rst new/pycurl-7.45.2/doc/unimplemented.rst --- old/pycurl-7.45.1/doc/unimplemented.rst 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/doc/unimplemented.rst 2022-12-16 20:17:56.000000000 +0100 @@ -55,7 +55,7 @@ -------------------- Some symbols are present in libcurl's `symbols in versions`_ document but -are not documented by libcurl. These symbols are not impemented by PycURL. +are not documented by libcurl. These symbols are not implemented by PycURL. As of this writing, the following symbols are thusly omitted: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/pycurl.egg-info/PKG-INFO new/pycurl-7.45.2/pycurl.egg-info/PKG-INFO --- old/pycurl-7.45.1/pycurl.egg-info/PKG-INFO 2022-03-13 08:13:38.000000000 +0100 +++ new/pycurl-7.45.2/pycurl.egg-info/PKG-INFO 2022-12-16 20:42:08.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pycurl -Version: 7.45.1 +Version: 7.45.2 Summary: PycURL -- A Python Interface To The cURL library Home-page: http://pycurl.io/ Author: Kjetil Jacobsen, Markus F.X.J. Oberhumer, Oleg Pudeyev @@ -110,5 +110,3 @@ .. _urllib: http://docs.python.org/library/urllib.html .. _COPYING-LGPL: https://raw.githubusercontent.com/pycurl/pycurl/master/COPYING-LGPL .. _COPYING-MIT: https://raw.githubusercontent.com/pycurl/pycurl/master/COPYING-MIT - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/python/curl/__init__.py new/pycurl-7.45.2/python/curl/__init__.py --- old/pycurl-7.45.1/python/curl/__init__.py 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/python/curl/__init__.py 2022-12-16 20:17:56.000000000 +0100 @@ -1,7 +1,7 @@ '''A high-level interface to the pycurl extension''' # ** mfx NOTE: the CGI class uses "black magic" using COOKIEFILE in -# combination with a non-existant file name. See the libcurl docs +# combination with a non-existent file name. See the libcurl docs # for more info. import sys, pycurl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/setup.py new/pycurl-7.45.2/setup.py --- old/pycurl-7.45.1/setup.py 2022-03-13 08:12:37.000000000 +0100 +++ new/pycurl-7.45.2/setup.py 2022-12-16 20:31:55.000000000 +0100 @@ -6,17 +6,11 @@ PACKAGE = "pycurl" PY_PACKAGE = "curl" -VERSION = "7.45.1" +VERSION = "7.45.2" -import glob, os, re, sys, subprocess -import distutils -try: - from setuptools import setup -except ImportError: - from distutils.core import setup -from distutils.extension import Extension -from distutils.util import split_quoted -from distutils.version import LooseVersion +import glob, os, re, shlex, sys, subprocess +from setuptools import setup +from setuptools.extension import Extension py3 = sys.version_info[0] == 3 @@ -128,7 +122,7 @@ msg += ":\n" + stderr.decode() raise ConfigurationError(msg) curl_has_ssl = False - for feature in split_quoted(stdout.decode()): + for feature in shlex.split(stdout.decode()): if feature == 'SSL': # this means any ssl library, not just openssl. # we set the ssl flag to check for ssl library mismatch @@ -185,7 +179,7 @@ if not ssl_lib_detected: # self.sslhintbuf is a hack - for arg in split_quoted(self.sslhintbuf): + for arg in shlex.split(self.sslhintbuf): if arg[:2] == "-l": if arg[2:] == 'ssl': self.using_openssl() @@ -254,7 +248,7 @@ if stderr: msg += ":\n" + stderr.decode() raise ConfigurationError(msg) - for arg in split_quoted(stdout.decode()): + for arg in shlex.split(stdout.decode()): if arg[:2] == "-I": # do not add /usr/include if not re.search(r"^\/+usr\/+include\/*$", arg[2:]): @@ -280,7 +274,7 @@ # for hints as to which SSL library libcurl is linked against. # More information: https://github.com/pycurl/pycurl/pull/147 # - # The final point is we should link agaist the SSL library in use + # The final point is we should link against the SSL library in use # even if libcurl does not tell us to, because *we* invoke functions # in that SSL library. This means any SSL libraries found in # --static-libs are forwarded to our libraries. @@ -336,7 +330,7 @@ # libraries and options - all libraries and options are forwarded # but if --libs succeeded, --static-libs output is ignored - for arg in split_quoted(optbuf): + for arg in shlex.split(optbuf): if arg[:2] == "-l": self.libraries.append(arg[2:]) elif arg[:2] == "-L": @@ -586,39 +580,6 @@ self.define_macros.append(('HAVE_CURL_SSL', 1)) self.ssl_lib_detected = 'sectransp' -def get_bdist_msi_version_hack(): - # workaround for distutils/msi version requirement per - # epydoc.sourceforge.net/stdlib/distutils.version.StrictVersion-class.html - - # only x.y.z version numbers are supported, whereas our versions might be x.y.z.p. - # bugs.python.org/issue6040#msg133094 - from distutils.command.bdist_msi import bdist_msi - import inspect - import types - import re - - class bdist_msi_version_hack(bdist_msi): - """ MSI builder requires version to be in the x.x.x format """ - def run(self): - def monkey_get_version(self): - """ monkey patch replacement for metadata.get_version() that - returns MSI compatible version string for bdist_msi - """ - # get filename of the calling function - if inspect.stack()[1][1].endswith('bdist_msi.py'): - # strip revision from version (if any), e.g. 11.0.0-r31546 - match = re.match(r'(\d+\.\d+\.\d+)', self.version) - assert match - return match.group(1) - else: - return self.version - - # monkeypatching get_version() call for DistributionMetadata - self.distribution.metadata.get_version = \ - types.MethodType(monkey_get_version, self.distribution.metadata) - bdist_msi.run(self) - - return bdist_msi_version_hack - def strip_pycurl_options(argv): if sys.platform == 'win32': @@ -776,12 +737,12 @@ authors_para = paras[AUTHORS_PARAGRAPH] authors = [author for author in authors_para.strip().split("\n")] - log = subprocess.check_output(['git', 'log', '--format=%an (%ae)']) + log = subprocess.check_output(['git', 'log', '--format=%an (%ae)']).decode() for author in log.strip().split("\n"): author = author.replace('@', ' at ').replace('(', '<').replace(')', '>') if author not in authors: authors.append(author) - authors.sort() + authors.sort(key=lambda s: s.lower()) paras[AUTHORS_PARAGRAPH] = "\n".join(authors) f = open('AUTHORS', 'w') try: @@ -948,17 +909,9 @@ packages=[PY_PACKAGE], package_dir={ PY_PACKAGE: os.path.join('python', 'curl') }, python_requires='>=3.5', + platforms='All', ) -if sys.platform == "win32": - setup_args['cmdclass'] = {'bdist_msi': get_bdist_msi_version_hack()} - -##print distutils.__version__ -if LooseVersion(distutils.__version__) > LooseVersion("1.0.1"): - setup_args["platforms"] = "All" -if LooseVersion(distutils.__version__) < LooseVersion("1.0.3"): - setup_args["licence"] = setup_args["license"] - unix_help = '''\ PycURL Unix options: --curl-config=/path/to/curl-config use specified curl-config binary diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/src/easy.c new/pycurl-7.45.2/src/easy.c --- old/pycurl-7.45.1/src/easy.c 2022-03-10 00:12:32.000000000 +0100 +++ new/pycurl-7.45.2/src/easy.c 2022-12-16 20:17:56.000000000 +0100 @@ -348,7 +348,7 @@ } /* Checking for CURLE_OK is not required here. - * All values have already been successfuly setopt'ed with self->handle. */ + * All values have already been successfully setopt'ed with self->handle. */ /* Assign and incref python callback and update data pointers */ if (self->w_cb != NULL) { @@ -606,13 +606,13 @@ do_curl_dealloc(CurlObject *self) { PyObject_GC_UnTrack(self); - Py_TRASHCAN_SAFE_BEGIN(self); + CPy_TRASHCAN_BEGIN(self, do_curl_dealloc); Py_CLEAR(self->dict); util_curl_close(self); Curl_Type.tp_free(self); - Py_TRASHCAN_SAFE_END(self); + CPy_TRASHCAN_END(self); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/src/easyopt.c new/pycurl-7.45.2/src/easyopt.c --- old/pycurl-7.45.1/src/easyopt.c 2022-01-11 20:34:56.000000000 +0100 +++ new/pycurl-7.45.2/src/easyopt.c 2022-12-16 20:17:56.000000000 +0100 @@ -314,6 +314,10 @@ case CURLOPT_PROXY_SSLKEY: case CURLOPT_PROXY_SSLKEYTYPE: #endif +#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 61, 0) + case CURLOPT_TLS13_CIPHERS: + case CURLOPT_PROXY_TLS13_CIPHERS: +#endif #if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 62, 0) case CURLOPT_DOH_URL: #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/src/module.c new/pycurl-7.45.2/src/module.c --- old/pycurl-7.45.1/src/module.c 2022-03-13 08:10:38.000000000 +0100 +++ new/pycurl-7.45.2/src/module.c 2022-12-16 20:17:56.000000000 +0100 @@ -1077,9 +1077,16 @@ #if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 45, 0) insint_c(d, "DEFAULT_PROTOCOL", CURLOPT_DEFAULT_PROTOCOL); #endif +#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 61, 0) + insint_c(d, "TLS13_CIPHERS", CURLOPT_TLS13_CIPHERS); + insint_c(d, "PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS); +#endif #if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 62, 0) insint_c(d, "DOH_URL", CURLOPT_DOH_URL); #endif +#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 64, 0) + insint_c(d, "HTTP09_ALLOWED", CURLOPT_HTTP09_ALLOWED); +#endif #if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 80, 0) insint_c(d, "MAXLIFETIME_CONN", CURLOPT_MAXLIFETIME_CONN); #endif @@ -1129,6 +1136,9 @@ insint_c(d, "CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE", CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE); insint_c(d, "TCP_FASTOPEN", CURLOPT_TCP_FASTOPEN); #endif +#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 66, 0) + insint_c(d, "CURL_HTTP_VERSION_3", CURL_HTTP_VERSION_3); +#endif insint_c(d, "CURL_HTTP_VERSION_LAST", CURL_HTTP_VERSION_LAST); /* CURL_NETRC_OPTION: constants for setopt(NETRC, x) */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/src/multi.c new/pycurl-7.45.2/src/multi.c --- old/pycurl-7.45.1/src/multi.c 2022-01-11 20:34:56.000000000 +0100 +++ new/pycurl-7.45.2/src/multi.c 2022-12-16 20:17:56.000000000 +0100 @@ -117,7 +117,7 @@ do_multi_dealloc(CurlMultiObject *self) { PyObject_GC_UnTrack(self); - Py_TRASHCAN_SAFE_BEGIN(self); + CPy_TRASHCAN_BEGIN(self, do_multi_dealloc); util_multi_xdecref(self); util_multi_close(self); @@ -127,7 +127,7 @@ } CurlMulti_Type.tp_free(self); - Py_TRASHCAN_SAFE_END(self); + CPy_TRASHCAN_END(self); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/src/pycurl.h new/pycurl-7.45.2/src/pycurl.h --- old/pycurl-7.45.1/src/pycurl.h 2022-01-11 20:34:56.000000000 +0100 +++ new/pycurl-7.45.2/src/pycurl.h 2022-12-16 20:17:56.000000000 +0100 @@ -693,5 +693,13 @@ # define PYCURL_TYPE_FLAGS Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_WEAKREFS | Py_TPFLAGS_BASETYPE #endif +#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 8 +# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_BEGIN(op, dealloc) +# define CPy_TRASHCAN_END(op) Py_TRASHCAN_END +#else +# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_SAFE_BEGIN(op) +# define CPy_TRASHCAN_END(op) Py_TRASHCAN_SAFE_END(op) +#endif + /* vi:ts=4:et:nowrap */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/src/share.c new/pycurl-7.45.2/src/share.c --- old/pycurl-7.45.1/src/share.c 2022-01-11 20:34:56.000000000 +0100 +++ new/pycurl-7.45.2/src/share.c 2022-12-16 20:17:56.000000000 +0100 @@ -119,7 +119,7 @@ do_share_dealloc(CurlShareObject *self) { PyObject_GC_UnTrack(self); - Py_TRASHCAN_SAFE_BEGIN(self); + CPy_TRASHCAN_BEGIN(self, do_share_dealloc); Py_CLEAR(self->dict); util_share_close(self); @@ -133,7 +133,7 @@ } CurlShare_Type.tp_free(self); - Py_TRASHCAN_SAFE_END(self); + CPy_TRASHCAN_END(self); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/certs/ca.crt new/pycurl-7.45.2/tests/certs/ca.crt --- old/pycurl-7.45.1/tests/certs/ca.crt 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/tests/certs/ca.crt 2022-12-16 20:17:56.000000000 +0100 @@ -1,8 +1,8 @@ -----BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIUFrIR/j704ZfessaZ6fpA3BE0HNEwDQYJKoZIhvcNAQEL +MIIDwzCCAqugAwIBAgIUSxsCNrFED1qO/AQe5iz0sFzgdRowDQYJKoZIhvcNAQEL BQAwZjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxGjAYBgNVBAoM EVB5Y1VSTCB0ZXN0IHN1aXRlMRIwEAYDVQQLDAlsb2NhbGhvc3QxEjAQBgNVBAMM -CWxvY2FsaG9zdDAeFw0yMDA4MTMxNzI1MTRaFw00NzEyMzAxNzI1MTRaMGYxCzAJ +CWxvY2FsaG9zdDAeFw0yMjA1MDYxNTI5MDVaFw00OTA5MjExNTI5MDVaMGYxCzAJ BgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRowGAYDVQQKDBFQeWNVUkwg dGVzdCBzdWl0ZTESMBAGA1UECwwJbG9jYWxob3N0MRIwEAYDVQQDDAlsb2NhbGhv c3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtrtJgPWnNZCHEmvJg @@ -11,15 +11,13 @@ uSfg4BVEW+lGs2FGCLElRWmrOPPMQsyP5llwuVhaRQ5QN8wQgkd5n2wXF2tsQ2dO YmJ5fVDjs0P0f0TNCWhS9zxd/orV7UqWIiGWiZt2jdEsAZTNmVaUbZaisXNfXrUT aFjYUcUh31K6xYc0nEqyY5R6s2/StZh7Png47BdaH/Y4pw1XWErUgUqQQdQ/tQwu -G8BTAgMBAAGjgdYwgdMwHQYDVR0OBBYEFC7U1Afby9PQYRB7dkgUzZH9mkbBMIGj -BgNVHSMEgZswgZiAFC7U1Afby9PQYRB7dkgUzZH9mkbBoWqkaDBmMQswCQYDVQQG -EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEaMBgGA1UECgwRUHljVVJMIHRlc3Qg -c3VpdGUxEjAQBgNVBAsMCWxvY2FsaG9zdDESMBAGA1UEAwwJbG9jYWxob3N0ghQW -shH+PvThl96yxpnp+kDcETQc0TAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUA -A4IBAQAX3ENYqtAZLRz0p/EzRpIia+8fgwAjQrg9ucMX/UMVXHaUq/cgTPR2YhUn -aIwhANqdZnSQ2nUHlDgCmUQmH2hLKhkR7PVOMuYDAQmPusII4iUdmwGFLPTudxRV -fMKE8VBDKrRNSvWIS6Y9ucJi04jE705+wjUzB5eylP0R5kj7qt9VmPFYGgGb+jLz -hNHmaI7NVC6cIhafMWcbI2uGdpPlGDK79HVtR53EtmCDlIVZ/DfIsVQ3KA0SwdD5 -TzqIM/V2vCKEsGbFMgVc5S4RLK5mu0/wTP3Y/PSy9zTz/z1l5BMEvbBxNhu3uqAi -kBlHhSUHg81tR609TkQ/zl9ehe33 +G8BTAgMBAAGjaTBnMB0GA1UdDgQWBBQu1NQH28vT0GEQe3ZIFM2R/ZpGwTAfBgNV +HSMEGDAWgBQu1NQH28vT0GEQe3ZIFM2R/ZpGwTAPBgNVHRMBAf8EBTADAQH/MBQG +A1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAQOYupzgDcLn3 +dT7lPXDrWSWFQQoNGDD3suu3UPIHuLIBTghADOTgAW9QxmcB5z7EWXj8TLRssAZ7 +6bwPR1g466IgDpR7U+q9YIyBVW98MgYyaSX6TuRyrRxEugH5mzIKQ7Ed9qYiJrVA +5npHkQOXdlcdsjLsjD/itfbk/M13GuCMkixXM3RGcruUbd143aKFGVvGPhl31L14 +AOjQsbC1OQQ6rPsA5FObSqLjm6L+cq53PqOaRIiTRdiaKD2Xj8hXWrs5zivx60qM +GQkUnTfyPuQ7EXf7jQrjwrCYN8lk+KbuE9FKKS89b6ZyfK7iZp6AR3IdYRAVo1FE +H7ZnvduIZQ== -----END CERTIFICATE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/certs/server.crt new/pycurl-7.45.2/tests/certs/server.crt --- old/pycurl-7.45.1/tests/certs/server.crt 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/tests/certs/server.crt 2022-12-16 20:17:56.000000000 +0100 @@ -1,20 +1,21 @@ -----BEGIN CERTIFICATE----- -MIIDPzCCAicCFERGPoslPJ3jHZfE8sJaHNmaFqfcMA0GCSqGSIb3DQEBCwUAMGYx -CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRowGAYDVQQKDBFQeWNV -UkwgdGVzdCBzdWl0ZTESMBAGA1UECwwJbG9jYWxob3N0MRIwEAYDVQQDDAlsb2Nh -bGhvc3QwHhcNMjAwODEzMTc0MTI2WhcNNDcxMjMwMTc0MTI2WjBSMQswCQYDVQQG -EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEaMBgGA1UECgwRUHljVVJMIHRlc3Qg -c3VpdGUxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAOYnLv7lONDJDKbYYhIcVfWNRdqfGk+hFpPHVi8RfD49g90WKdSv -hmIrPCtfoeXVZvSgh+tXuDZRiuczuoRq0uOM4pkNMXyQanlDn5AFthBNnDbc4DXb -6lBXIdUbJZB+YXpiMQvQsmO0XFMD9nZ8CeeZutkxF34TcDE1YE4yCZIgpttLX1VG -8OVFJomXeavrfQ8fjrRpDfOfmuM4I7YgCl5IxOAVyhFPGHNhpE8M/fJnk7UZ7iuB -08Qca87/b0hvlGacL2AwWfwAdz2JcxVdmtKMhd03+PMqbUNYD7XlHJiKw+89VLv9 -lZGLJEO92lNRlJ06su5HzQSEycLpiKvDHBECAwEAATANBgkqhkiG9w0BAQsFAAOC -AQEAboEGBE+LJhRBMXtcxGbewEK6KByid7VR3/j+e2jSQiy9l8UTrKDx+hinwIPp -g/qNbVJC/aqa1kuaQrF8fHidM8t1A1brCjsZ+sEfc3q1K0jPZEzvSabRWznM21L+ -eZYnmINMrq4vlSjh5Oz1QGdoImjq+o4qWokOt8p38FYBMKgrMLBbW6N+olU8htuu -x1o9y6CscwkFrhGvENe6nCrE9QTVEH0Ka1BMFOwfCUIztgz5YWgvJpSzw+2l6lo0 -4lh8olZ09Fzu+VcjUU9t0yiFFh1qwKTLWJA7NJMWOtEwTbfx/K+5m2Xiuzp6BPM5 -DcPA3/hx8YLKkxA570MOszh6Dg== +MIIDXjCCAkagAwIBAgIUGSiMniv/FqlCAJXut6b+TJx1gzYwDQYJKoZIhvcNAQEL +BQAwZjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxGjAYBgNVBAoM +EVB5Y1VSTCB0ZXN0IHN1aXRlMRIwEAYDVQQLDAlsb2NhbGhvc3QxEjAQBgNVBAMM +CWxvY2FsaG9zdDAeFw0yMjA1MDYyMTU4NTJaFw00OTA5MjEyMTU4NTJaMFIxCzAJ +BgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRowGAYDVQQKDBFQeWNVUkwg +dGVzdCBzdWl0ZTESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA5icu/uU40MkMpthiEhxV9Y1F2p8aT6EWk8dWLxF8Pj2D +3RYp1K+GYis8K1+h5dVm9KCH61e4NlGK5zO6hGrS44zimQ0xfJBqeUOfkAW2EE2c +NtzgNdvqUFch1RslkH5hemIxC9CyY7RcUwP2dnwJ55m62TEXfhNwMTVgTjIJkiCm +20tfVUbw5UUmiZd5q+t9Dx+OtGkN85+a4zgjtiAKXkjE4BXKEU8Yc2GkTwz98meT +tRnuK4HTxBxrzv9vSG+UZpwvYDBZ/AB3PYlzFV2a0oyF3Tf48yptQ1gPteUcmIrD +7z1Uu/2VkYskQ73aU1GUnTqy7kfNBITJwumIq8McEQIDAQABoxgwFjAUBgNVHREE +DTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAC0y9o5FUCzpSEqBK7Ns +1FiAR/cNS6MKmpCKjN4sNvALSThCTdDB4QVBEOe+eTZP/q105oyf8boSktCG/3MO +B6Jwdo5AnBHiE2QGfacMluUkuYRGf1XqWl9oa1AeuqCS+ilGk485akiI0A/z6ZRz +ynGvk/9bqYYhqIPV2ioxFdHaXNlNKT36BV1NFrW3ebZSa3w7nHIrEakZuVmc67vH +dCuxHf8l2Bya/xT1yktq4MaiFzUY9ZZLSnpWPuGzXnika0IeREF7rm9ubozq8mSq +JyTC0KAZvwt7BmbEO98NcfL8gtYAVqDBR/t6gW4TSxKGc0PB3j/+73Nj5hGBasxd +2cc= -----END CERTIFICATE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/error_test.py new/pycurl-7.45.2/tests/error_test.py --- old/pycurl-7.45.1/tests/error_test.py 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/tests/error_test.py 2022-12-16 20:17:56.000000000 +0100 @@ -29,7 +29,8 @@ err, msg = exc.args self.assertEqual(pycurl.E_URL_MALFORMAT, err) # possibly fragile - self.assertEqual('No URL set!', msg) + # curl < 7.83.0 has an exclamation mark in this error message + self.assertIn(msg, ['No URL set!', 'No URL set']) else: self.fail('Expected pycurl.error to be raised') @@ -43,9 +44,10 @@ self.curl.perform() except pycurl.error: # might be fragile - self.assertEqual('No URL set!', self.curl.errstr()) + # curl < 7.83.0 has an exclamation mark in this error message + self.assertIn(self.curl.errstr(), ['No URL set!', 'No URL set']) # repeated checks do not clear value - self.assertEqual('No URL set!', self.curl.errstr()) + self.assertIn(self.curl.errstr(), ['No URL set!', 'No URL set']) # check the type - on all python versions self.assertEqual(str, type(self.curl.errstr())) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/option_constants_test.py new/pycurl-7.45.2/tests/option_constants_test.py --- old/pycurl-7.45.1/tests/option_constants_test.py 2022-01-11 20:23:49.000000000 +0100 +++ new/pycurl-7.45.2/tests/option_constants_test.py 2022-12-16 20:17:56.000000000 +0100 @@ -373,6 +373,26 @@ curl.setopt(curl.SSL_OPTIONS, curl.SSLOPT_NO_REVOKE) curl.close() + @util.min_libcurl(7, 64, 0) + def test_http09_allowed_option(self): + curl = pycurl.Curl() + curl.setopt(curl.HTTP09_ALLOWED, 1) + curl.close() + + @util.min_libcurl(7, 61, 0) + @util.only_ssl_backends('openssl') + def test_tls13_ciphers(self): + curl = pycurl.Curl() + curl.setopt(curl.TLS13_CIPHERS, 'TLS_CHACHA20_POLY1305_SHA256') + curl.close() + + @util.min_libcurl(7, 61, 0) + @util.only_ssl_backends('openssl') + def test_proxy_tls13_ciphers(self): + curl = pycurl.Curl() + curl.setopt(curl.PROXY_TLS13_CIPHERS, 'TLS_CHACHA20_POLY1305_SHA256') + curl.close() + class OptionConstantsSettingTest(unittest.TestCase): def setUp(self): self.curl = pycurl.Curl() @@ -476,6 +496,10 @@ def test_http_version_2prior_knowledge(self): self.curl.setopt(self.curl.HTTP_VERSION, self.curl.CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE) + @util.min_libcurl(7, 66, 0) + def test_http_version_3(self): + self.curl.setopt(self.curl.HTTP_VERSION, self.curl.CURL_HTTP_VERSION_3) + @util.min_libcurl(7, 21, 5) def test_sockopt_constants(self): assert self.curl.SOCKOPT_OK is not None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/run.sh new/pycurl-7.45.2/tests/run.sh --- old/pycurl-7.45.1/tests/run.sh 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/tests/run.sh 2022-12-16 20:17:56.000000000 +0100 @@ -7,8 +7,9 @@ test -n "$PYTEST" || PYTEST=pytest mkdir -p tests/tmp -export PYTHONSUFFIX=$($PYTHON -V 2>&1 |awk '{print $2}' |awk -F. '{print $1 "." $2}') -export PYTHONPATH=$(ls -d build/lib.*$PYTHONSUFFIX):$PYTHONPATH +export PYTHONMAJOR=$($PYTHON -V 2>&1 |awk '{print $2}' |awk -F. '{print $1}') +export PYTHONMINOR=$($PYTHON -V 2>&1 |awk '{print $2}' |awk -F. '{print $2}') +export PYTHONPATH=$(ls -d build/lib.*$PYTHONMAJOR*$PYTHONMINOR):$PYTHONPATH extra_attrs= if test "$CI" = true; then @@ -25,4 +26,4 @@ fi $PYTHON -c 'import pycurl; print(pycurl.version)' -$PYTEST +$PYTEST -v diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/runwsgi.py new/pycurl-7.45.2/tests/runwsgi.py --- old/pycurl-7.45.1/tests/runwsgi.py 2021-08-09 03:47:03.000000000 +0200 +++ new/pycurl-7.45.2/tests/runwsgi.py 2022-12-16 20:17:56.000000000 +0100 @@ -35,10 +35,12 @@ import ssl cert_dir = os.path.join(os.path.dirname(__file__), 'certs') - self.srv.socket = ssl.wrap_socket( + context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) + context.load_cert_chain( + os.path.join(cert_dir, 'server.crt'), + keyfile=os.path.join(cert_dir, 'server.key')) + self.srv.socket = context.wrap_socket( self.srv.socket, - keyfile=os.path.join(cert_dir, 'server.key'), - certfile=os.path.join(cert_dir, 'server.crt'), server_side=True) self.serve() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/tests/util.py new/pycurl-7.45.2/tests/util.py --- old/pycurl-7.45.1/tests/util.py 2022-01-11 20:23:49.000000000 +0100 +++ new/pycurl-7.45.2/tests/util.py 2022-12-16 20:17:56.000000000 +0100 @@ -2,7 +2,7 @@ # vi:ts=4:et import tempfile -import os, sys, socket +import sys, socket import time as _time import functools import unittest @@ -256,40 +256,6 @@ break return ok -# -# prepare sys.path in case we are still in the build directory -# see also: distutils/command/build.py (build_platlib) -# - -def get_sys_path(p=None): - if p is None: - p = sys.path - p = p[:] - try: - from distutils.util import get_platform - except ImportError: - return p - p0 = "" - if p: - p0 = p[0] - # - plat = get_platform() - plat_specifier = "%s-%s" % (plat, sys.version[:3]) - ##print plat, plat_specifier - # - for prefix in (p0, os.curdir, os.pardir,): - if not prefix: - continue - d = os.path.join(prefix, "build") - for subdir in ("lib", "lib." + plat_specifier, "lib." + plat): - dir = os.path.normpath(os.path.join(d, subdir)) - if os.path.isdir(dir): - if dir not in p: - p.insert(1, dir) - # - return p - - def DefaultCurl(): import pycurl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pycurl-7.45.1/winbuild.py new/pycurl-7.45.2/winbuild.py --- old/pycurl-7.45.1/winbuild.py 2022-03-13 08:12:42.000000000 +0100 +++ new/pycurl-7.45.2/winbuild.py 2022-12-16 20:31:48.000000000 +0100 @@ -103,7 +103,7 @@ # whether to build binary wheels build_wheels = True # pycurl version to build, we should know this ourselves - pycurl_version = '7.45.1' + pycurl_version = '7.45.2' # Sometimes vc14 does not include windows sdk path in vcvars which breaks stuff. # another application for this is to supply normaliz.lib for vc9