From 3c67765d228d83659caa0431bfca8f3c9be61958 Mon Sep 17 00:00:00 2001 From: Patrick McCarty Date: Thu, 19 Mar 2020 11:09:05 -0700 Subject: [PATCH] eventlet: Autospec creation for update from version 0.20.0 to version 0.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AGSPhoenix (1): Add locals() call to example backdoor invocation Aayush Kasurde (2): Modified pyopenssl example using evenlet contributing.md Anthony Sottile (1): Use tox's `TOXENV` environment variable Chris Kerr (1): dns: reading /etc/hosts raised DeprecationWarning for universal lines on Python 3.4+ Daniel Alvarez (1): greendns: don't contact nameservers if one entry is returned from hosts file David Szotten (2): workaround for pathlib on py 3.7 release notes and version bump for 0.25.1 Feng (1): greenio: Fixed OSError: [WinError 10038] Socket operation on nonsocket Geoffrey Thomas (1): patcher: workaround for monotonic "no suitable implementation" Gevorg Davoian (1): green.zmq: socket.{recv,send}_* signatures did not match recent upstream pyzmq Haikel Guemar (1): Drop OpenSSL.rand support Hugo (1): Add Python 3.6 James Page (1): Avoid dependency on enum-compat Jaume Marhuenda (2): support.greendns: ImportError when dns.rdtypes was imported before eventlet greendns: resolving over TCP produced ValueError Jesse (1): tpool: exception in tpool-ed call leaked memory via backtrace Julien Kasarherou (1): wsgi: make Expect 100-continue field-value case-insensitive. Junyi (2): [bug] reimport submodule as well in patcher.inject (#540) Fix compatibility with Python 3.7 ssl.SSLSocket (#531) Konstantin Enchant (1): websocket: fd leak when client did not close connection properly Lon Hohberger (4): Fix bad ipv6 comparison greendns udp: Fix infinite loop when source address mismatch tests: Add ipv6 tests for greendns udp() function tests: Add ipv4 udp tests for greendns Marcel Plch (1): Fix for Python 3.7 (#506) Matt Bennett (1): greendns: be explicit about expecting bytes from sock.recv Miguel Grinberg (1): socket: context manager support Miro Hrončok (1): Stop using deprecated cgi.parse_qs() to support Python 3.8 Ondřej Kobližek (1): Fixed tests.greendns_test.TestGetaddrinfo eventlet/eventlet#373 Ondřej Nový (1): Regenerate test crt Quan Tian (1): patcher: set locked RLocks' owner only when patching existing locks Ralf Haferkamp (1): greendns: Treat /etc/hosts entries case-insensitive Sam Merritt (1): pools: put to empty pool would block sometimes Sergey Shepelev (59): zmq: autogenerated documentation was missing Explicit environ flag for importing eventlet.__version__ without ignoring import errors release: use twine for PyPI upload readme: latest dev version was pointing to bitbucket tests: patcher_import_patched_defaults was failing in presence of pyopenssl package dns: try unqualified queries as top level Type check Semaphore, GreenPool arguments; Thanks to Matthew D. Pagel test_import_patched_defaults bended to play with pyopenssl>=16.1.0 v0.20.1 release test coverage reports tests cleanup, CI with Python 3.6 python3.6: http.client.request support chunked_encoding New timeout error API: .is_timeout=True on exception object support: upgrade bundled six to 1.10 (dbfbfc818e3d) green.profile: Python3 compatibility; Thanks to Artur Stawiarski Timeout was marked deprecated along with TimeoutError by mistake tests: socket_resolve_green was giving false fails dns: hosts file was consulted after nameservers hubs: use monotonic clock by default (bundled package); Thanks to Roman Podoliaka and Victor Stinner dns: EVENTLET_NO_GREENDNS option is back, green is still default dns: EAI_NODATA was removed from RFC3493 and FreeBSD db_pool: proxy Connection.set_isolation_level() ssl: RecursionError on Python3.6+; Thanks to justdoit0823@github and Gevent developers wsgi: log_output=False was not disabling startup and accepted messages v0.21.0 release update monotonic 1.3 5c0322dc559bf961f7e111d97cd3ed9ab5c1a73b queue: empty except was catching too much wsgi: push deprecated options one step wsgi: close idle connections (also applies to websockets) convenience: skip SO_REUSEPORT for bind on random port (0) convenience: SO_REUSEPORT is not available on WSL platform (Linux on Windows) green.subprocess: keep CalledProcessError identity; Thanks to Linbing@github support: upgrade bundled dnspython to 1.16.0 (22e9de1d7957e) convenience: (SO_REUSEPORT) socket.error is not OSError on Python 2; Thanks to JacoFourie@github travis: codecov flags format was running `tr` with invalid arguments greendns: early socket.timeout was breaking IO retry loops init: second workaround for monotonic "no suitable implementation"; Thanks to Geoffrey Thomas Travis broke ipv6, allow failure; test against Python 2.7 travis: crutch to get ipv6 back v0.22.0 release event: Event.wait() timeout=None argument to be compatible with upstream CPython v0.22.1 release support: psycopg2_patcher import module, not function travis: update test dependencies, use psycopg2-binary moved function eventlet.support.capture_stderr to tests travis: allow fail python 3.7 see issue https://github.com/eventlet/eventlet/issues/475 wsgi: latin-1 encoding dance for environ[PATH_INFO] green.threading: current_thread() did not see new monkey-patched threads; Thanks to Jake Tesler v0.23.0 release Drop support for Python2.6 and python-epoll package Drop support for Python3.3 website: link to PyPI project page w/o version; reflect current state of installation and development v0.24.0 release v0.24.1 release ssl: connect used non-monotonic time.time() for timeout (#520) New benchmarks runner greenthread: optimize _exit_funcs getattr/del dance; Thanks to Alex Kashirin IMPORTANT: late import in `use_hub()` + thread race caused using epolls even when it is unsupported on current platform maintainers list Sourabh Deshmukh (1): typo Stefan Nica (1): wsgi: handle remote connection resets Tim Burke (10): wsgi: Don't strip all Unicode whitespace from headers on py3 (#504) wsgi: Use byte strings on py2 and unicode strings on py3 wsgi: Catch and swallow IOErrors during discard() (#532) wsgi: Stop replacing invalid UTF-8 on py3 wsgi: fix Input.readline on Python 3 wsgi: fix Input.readlines when dealing with chunked input wsgi: Return 400 on negative Content-Length request headers (#537) wsgi: Only send 100 Continue response if no response has been sent yet (#557) wsgi: minimize API changes for 100-continue fix (#569) v0.25.0 release Yuichi Bando (1): New feature: Add zipkin tracing to eventlet costasgambit (1): websocket: support permessage-deflate extension; Thanks to Costas Christofi and Peter Kovary jaimefrites (1): green.select: fix mark_as_closed() wrong number of args nat-goodspeed (5): greendns: full comment lines were not skipped; Thanks to nat-goodspeed external dependencies for six, monotonic, dnspython Issue 535: use Python 2 compatible syntax for keyword-only args. (#536) Increase Travis slop factor for ZMQ CPU usage. (#542) #53: Make a GreenPile with no spawn()s an empty sequence. (#555) orishoshan (1): Issue #405: GreenSocket.accept does not notify_open (#406) talwrii (1): green.zmq: support RCVTIMEO (receive timeout) 0.25.1 * wsgi (tests): Stop using deprecated cgi.parse_qs() to support Python 3.8; Thanks to Miro Hrončok * os: Add workaround to `open` for pathlib on py 3.7; Thanks to David Szotten 0.25.0 ====== * wsgi: Only send 100 Continue response if no response has been sent yet; Thanks to Tim Burke * wsgi: Return 400 on negative Content-Length request headers; Thanks to Tim Burke * Make a GreenPile with no spawn()s an empty sequence; Thanks to nat-goodspeed * wsgi: fix Input.readlines when dealing with chunked input; Thanks to Tim Burke * wsgi: fix Input.readline on Python 3; Thanks to Tim Burke * wsgi: Stop replacing invalid UTF-8 on py3; Thanks to Tim Burke * ssl: Fix compatibility with Python 3.7 ssl.SSLSocket; Thanks to Junyi * reimport submodule as well in patcher.inject; Thanks to Junyi * use Python 2 compatible syntax for keyword-only args; Thanks to nat-goodspeed (NEWS truncated at 15 lines) --- 0001-Logging-speedy.patch | 96 ---------------- ...ace-enum-compat-dependency-to-enum34.patch | 33 ------ Makefile | 2 +- NEWS | 104 ++++++++++++++++++ eventlet.spec | 97 ++++------------ options.conf | 5 +- release | 2 +- series | 2 - upstream | 2 +- versions | 2 +- whatrequires | 2 + 11 files changed, 136 insertions(+), 211 deletions(-) delete mode 100644 0001-Logging-speedy.patch delete mode 100644 0002-Replace-enum-compat-dependency-to-enum34.patch delete mode 100644 series diff --git a/0001-Logging-speedy.patch b/0001-Logging-speedy.patch deleted file mode 100644 index d76d943..0000000 --- a/0001-Logging-speedy.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 530e8b8c989acbd75162231edaaf7a2cef440e73 Mon Sep 17 00:00:00 2001 -From: Gabriel Briones Sayeg -Date: Thu, 20 Aug 2015 18:14:27 -0500 -Subject: [PATCH] Logging speedy - -Signed-off-by: Gabriel Briones Sayeg ---- - eventlet/wsgi.py | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/eventlet/wsgi.py b/eventlet/wsgi.py -index 7258277..63f6dc7 100644 ---- a/eventlet/wsgi.py -+++ b/eventlet/wsgi.py -@@ -15,6 +15,8 @@ from eventlet.support import six - - from eventlet.support.six.moves import urllib - -+from oslo_log import log as logging -+LOG = logging.getLogger(__name__) - - DEFAULT_MAX_SIMULTANEOUS_REQUESTS = 1024 - DEFAULT_MAX_HTTP_VERSION = 'HTTP/1.1' -@@ -626,7 +628,7 @@ class Server(BaseHTTPServer.HTTPServer): - debug=True, - socket_timeout=None, - capitalize_response_headers=True): -- -+ LOG.debug("0Speedy Gonzalez") - self.outstanding_requests = 0 - self.socket = socket - self.address = address -@@ -655,8 +657,10 @@ class Server(BaseHTTPServer.HTTPServer): - HTTP headers names are case-insensitive per RFC standard. - Most likely, you need to fix HTTP parsing in your client software.""", - DeprecationWarning, stacklevel=3) -+ LOG.debug("1Speedy Gonzalez") - - def get_environ(self): -+ LOG.debug("0Speedy Gonzalez") - d = { - 'wsgi.errors': sys.stderr, - 'wsgi.version': (1, 0), -@@ -671,12 +675,14 @@ class Server(BaseHTTPServer.HTTPServer): - d['HTTPS'] = 'on' - if self.environ is not None: - d.update(self.environ) -+ LOG.debug("1Speedy Gonzalez") - return d - - def process_request(self, sock_params): - # The actual request handling takes place in __init__, so we need to - # set minimum_chunk_size before __init__ executes and we don't want to modify - # class variable -+ LOG.debug("0Speedy Gonzalez") - sock, address = sock_params - proto = new(self.protocol) - if self.minimum_chunk_size is not None: -@@ -689,10 +695,13 @@ class Server(BaseHTTPServer.HTTPServer): - sock.close() - # similar to logging "accepted" in server() - self.log.debug('(%s) timed out %r' % (self.pid, address)) -+ LOG.debug("1Speedy Gonzalez") - - def log_message(self, message): -+ LOG.debug("0Speedy Gonzalez") - warnings.warn('server.log_message is deprecated. Please use server.log.info instead') - self.log.info(message) -+ LOG.debug("1Speedy Gonzalez") - - - try: -@@ -781,6 +790,7 @@ def server(sock, site, - :param capitalize_response_headers: Normalize response headers' names to Foo-Bar. - Default is True. - """ -+ LOG.debug("0Speedy Gonzalez") - serv = Server(sock, sock.getsockname(), - site, log, - environ=environ, -@@ -834,6 +844,7 @@ def server(sock, site, - pool.execute_async(serv.process_request, client_socket) - except ACCEPT_EXCEPTIONS as e: - if support.get_errno(e) not in ACCEPT_ERRNO: -+ LOG.debug("1Speedy Gonzalez") - raise - except (KeyboardInterrupt, SystemExit): - serv.log.info("wsgi exiting") -@@ -852,3 +863,4 @@ def server(sock, site, - except socket.error as e: - if support.get_errno(e) not in BROKEN_SOCK: - traceback.print_exc() -+ LOG.debug("1Speedy Gonzalez") --- -2.1.0 - diff --git a/0002-Replace-enum-compat-dependency-to-enum34.patch b/0002-Replace-enum-compat-dependency-to-enum34.patch deleted file mode 100644 index cfb862e..0000000 --- a/0002-Replace-enum-compat-dependency-to-enum34.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 119c457bc7e2a27b14e400614192b7aae0dca398 Mon Sep 17 00:00:00 2001 -From: Obed N Munoz -Date: Wed, 22 Feb 2017 16:06:20 -0600 -Subject: [PATCH] Replace enum-compat dependency to enum34 - -Signed-off-by: Obed N Munoz ---- - eventlet.egg-info/requires.txt | 2 +- - setup.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/eventlet.egg-info/requires.txt b/eventlet.egg-info/requires.txt -index ebf2d9d..bf04839 100644 ---- a/eventlet.egg-info/requires.txt -+++ b/eventlet.egg-info/requires.txt -@@ -1,2 +1,1 @@ --enum-compat - greenlet >= 0.3 -diff --git a/setup.py b/setup.py -index 1b70f8b..391a149 100644 ---- a/setup.py -+++ b/setup.py -@@ -15,7 +15,6 @@ setuptools.setup( - url='http://eventlet.net', - packages=setuptools.find_packages(exclude=['benchmarks', 'tests', 'tests.*']), - install_requires=( -- 'enum-compat', - 'greenlet >= 0.3', - ), - zip_safe=False, --- -2.11.1 - diff --git a/Makefile b/Makefile index cb36aa7..3c5b2ee 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PKG_NAME := eventlet -URL = https://files.pythonhosted.org/packages/8b/c3/310059af7f77d18ac92d0927fea4e84b55ed0e9ddc57ae13937bd0c44187/eventlet-0.20.0.tar.gz +URL = https://files.pythonhosted.org/packages/5a/e3/466d72d12a09cef2b80dea685141afd65914fd1cdea0be0609779be05e92/eventlet-0.25.1.tar.gz ARCHIVES = include ../common/Makefile.common diff --git a/NEWS b/NEWS index 28130e2..b20fcbe 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,107 @@ +0.25.1 +* wsgi (tests): Stop using deprecated cgi.parse_qs() to support Python 3.8; Thanks to Miro Hrončok +* os: Add workaround to `open` for pathlib on py 3.7; Thanks to David Szotten + +0.25.0 +====== +* wsgi: Only send 100 Continue response if no response has been sent yet; Thanks to Tim Burke +* wsgi: Return 400 on negative Content-Length request headers; Thanks to Tim Burke +* Make a GreenPile with no spawn()s an empty sequence; Thanks to nat-goodspeed +* wsgi: fix Input.readlines when dealing with chunked input; Thanks to Tim Burke +* wsgi: fix Input.readline on Python 3; Thanks to Tim Burke +* wsgi: Stop replacing invalid UTF-8 on py3; Thanks to Tim Burke +* ssl: Fix compatibility with Python 3.7 ssl.SSLSocket; Thanks to Junyi +* reimport submodule as well in patcher.inject; Thanks to Junyi +* use Python 2 compatible syntax for keyword-only args; Thanks to nat-goodspeed +* wsgi: Catch and swallow IOErrors during discard(); Thanks to Tim Burke +* Fix for Python 3.7; Thanks to Marcel Plch +* Fix race that could cause using epolls as default hub even when platform does not support it; Thanks to Sergey Shepelev +* wsgi: make Expect 100-continue field-value case-insensitive; Thanks to Julien Kasarherou +* greenthread: optimize _exit_funcs getattr/del dance; Thanks to Alex Kashirin +* New benchmarks runner; Thanks to Sergey Shepelev +* ssl: fix connect to use monotonic clock for timeout; Thanks to Sergey Shepelev + +0.24.1 +====== +* greendns: don't contact nameservers if one entry is returned from hosts file; Thanks to Daniel Alvarez + +0.24.0 +====== +* greendns: Fix infinite loop when UDP source address mismatch; Thanks to Lon Hohberger +* greendns: Fix bad ipv6 comparison; Thanks to Lon Hohberger +* wsgi: Use byte strings on py2 and unicode strings on py3; Thanks to Tim Burke +* pools: put to empty pool would block sometimes; Thanks to Sam Merritt +* greendns: resolving over TCP produced ValueError; Thanks to Jaume Marhuenda +* support.greendns: ImportError when dns.rdtypes was imported before eventlet; Thanks to Jaume Marhuenda +* greendns: full comment lines were not skipped; Thanks to nat-goodspeed +* Drop support for Python3.3; Python2.6 and python-epoll package +* external dependencies for six, monotonic, dnspython; Thanks to nat-goodspeed +* wsgi: Don't strip all Unicode whitespace from headers on py3; Thanks to Tim Burke + +0.23.0 +====== +* green.threading: current_thread() did not see new monkey-patched threads; Thanks to Jake Tesler +* tpool: exception in tpool-ed call leaked memory via backtrace +* wsgi: latin-1 encoding dance for environ[PATH_INFO] + +0.22.1 +====== +* Fixed issue installing excess enum34 on Python3.4+ (rebuild with updated setuptools) +* event: Event.wait() timeout=None argument to be compatible with upstream CPython +* greendns: Treat /etc/hosts entries case-insensitive; Thanks to Ralf Haferkamp + + +0.22.0 +====== +* convenience: (SO_REUSEPORT) socket.error is not OSError on Python 2; Thanks to JacoFourie@github +* convenience: SO_REUSEPORT is not available on WSL platform (Linux on Windows) +* convenience: skip SO_REUSEPORT for bind on random port (0) +* dns: reading /etc/hosts raised DeprecationWarning for universal lines on Python 3.4+; Thanks to Chris Kerr +* green.openssl: Drop OpenSSL.rand support; Thanks to Haikel Guemar +* green.subprocess: keep CalledProcessError identity; Thanks to Linbing@github +* greendns: be explicit about expecting bytes from sock.recv; Thanks to Matt Bennett +* greendns: early socket.timeout was breaking IO retry loops +* GreenSocket.accept does not notify_open; Thanks to orishoshan +* patcher: set locked RLocks' owner only when patching existing locks; Thanks to Quan Tian +* patcher: workaround for monotonic "no suitable implementation"; Thanks to Geoffrey Thomas +* queue: empty except was catching too much +* socket: context manager support; Thanks to Miguel Grinberg +* support: update monotonic 1.3 (5c0322dc559bf) +* support: upgrade bundled dnspython to 1.16.0 (22e9de1d7957e) https://github.com/eventlet/eventlet/issues/427 +* websocket: fd leak when client did not close connection properly; Thanks to Konstantin Enchant +* websocket: support permessage-deflate extension; Thanks to Costas Christofi and Peter Kovary +* wsgi: close idle connections (also applies to websockets) +* wsgi: deprecated options are one step closer to removal +* wsgi: handle remote connection resets; Thanks to Stefan Nica + +0.21.0 +====== +* New timeout error API: .is_timeout=True on exception object + It's now easy to test if network error is transient and retry is appropriate. + Please spread the word and invite other libraries to support this interface. +* hubs: use monotonic clock by default (bundled package); Thanks to Roman Podoliaka and Victor Stinner +* dns: EVENTLET_NO_GREENDNS option is back, green is still default +* dns: hosts file was consulted after nameservers +* ssl: RecursionError on Python3.6+; Thanks to justdoit0823@github and Gevent developers +* wsgi: log_output=False was not disabling startup and accepted messages +* greenio: Fixed OSError: [WinError 10038] Socket operation on nonsocket +* dns: EAI_NODATA was removed from RFC3493 and FreeBSD +* green.select: fix mark_as_closed() wrong number of args +* green.zmq: socket.{recv,send}_* signatures did not match recent upstream pyzmq +* New feature: Add zipkin tracing to eventlet +* db_pool: proxy Connection.set_isolation_level() +* green.zmq: support RCVTIMEO (receive timeout) +* green.profile: Python3 compatibility; Thanks to Artur Stawiarski +* support: upgrade bundled six to 1.10 (dbfbfc818e3d) +* python3.6: http.client.request support chunked_encoding + +0.20.1 +====== +* dns: try unqualified queries as top level +* test_import_patched_defaults bended to play with pyopenssl>=16.1.0 +* Explicit environ flag for importing eventlet.__version__ without ignoring import errors +* Type check Semaphore, GreenPool arguments; Thanks to Matthew D. Pagel + 0.20.0 ====== * IMPORTANT: removed select.poll() function diff --git a/eventlet.spec b/eventlet.spec index bce27de..6ff429f 100644 --- a/eventlet.spec +++ b/eventlet.spec @@ -3,90 +3,35 @@ # Generated by: autospec.py # Name : eventlet -Version : 0.20.0 -Release : 50 -URL : https://files.pythonhosted.org/packages/8b/c3/310059af7f77d18ac92d0927fea4e84b55ed0e9ddc57ae13937bd0c44187/eventlet-0.20.0.tar.gz -Source0 : https://files.pythonhosted.org/packages/8b/c3/310059af7f77d18ac92d0927fea4e84b55ed0e9ddc57ae13937bd0c44187/eventlet-0.20.0.tar.gz +Version : 0.25.1 +Release : 51 +URL : https://files.pythonhosted.org/packages/5a/e3/466d72d12a09cef2b80dea685141afd65914fd1cdea0be0609779be05e92/eventlet-0.25.1.tar.gz +Source0 : https://files.pythonhosted.org/packages/5a/e3/466d72d12a09cef2b80dea685141afd65914fd1cdea0be0609779be05e92/eventlet-0.25.1.tar.gz Summary : Highly concurrent networking library Group : Development/Tools License : MIT Requires: eventlet-license = %{version}-%{release} Requires: eventlet-python = %{version}-%{release} Requires: eventlet-python3 = %{version}-%{release} +Requires: dnspython Requires: greenlet +Requires: monotonic +Requires: six BuildRequires : buildreq-distutils3 +BuildRequires : dnspython BuildRequires : greenlet BuildRequires : greenlet-python +BuildRequires : monotonic BuildRequires : nose BuildRequires : nose-python -Patch1: 0002-Replace-enum-compat-dependency-to-enum34.patch +BuildRequires : six %description -Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. - It uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application. - -It's easy to get started using Eventlet, and easy to convert existing -applications to use it. Start off by looking at the `examples`_, -`common design patterns`_, and the list of `basic API primitives`_. - -.. _examples: http://eventlet.net/doc/examples.html -.. _common design patterns: http://eventlet.net/doc/design_patterns.html -.. _basic API primitives: http://eventlet.net/doc/basic_usage.html - - -Quick Example -=============== - -Here's something you can try right on the command line:: - - % python - >>> import eventlet - >>> from eventlet.green import urllib2 - >>> gt = eventlet.spawn(urllib2.urlopen, 'http://eventlet.net') - >>> gt2 = eventlet.spawn(urllib2.urlopen, 'http://secondlife.com') - >>> gt2.wait() - >>> gt.wait() - - -Getting Eventlet -================== - -The easiest way to get Eventlet is to use pip:: - - pip install eventlet - -The development `tip`_ is available as well:: - - pip install 'eventlet==dev' - -.. _tip: http://bitbucket.org/eventlet/eventlet/get/tip.zip#egg=eventlet-dev - - -Building the Docs Locally -========================= - -To build a complete set of HTML documentation, you must have Sphinx, which can be found at http://sphinx.pocoo.org/ (or installed with `pip install Sphinx`):: - - cd doc - make html - -The built html files can be found in doc/_build/html afterward. - - -Twisted -======= - -Eventlet had Twisted hub in the past, but community interest to this integration has dropped over time, -now it is not supported, so with apologies for any inconvenience we discontinue Twisted integration. - -If you have a project that uses Eventlet with Twisted, your options are: - -* use last working release eventlet==0.14 -* start a new project with only Twisted hub code, identify and fix problems. As of eventlet 0.13, `EVENTLET_HUB` environment variable can point to external modules. -* fork Eventlet, revert Twisted removal, identify and fix problems. This work may be merged back into main project. - -Apologies for any inconvenience. + + It's easy to get started using Eventlet, and easy to convert existing + applications to use it. Start off by looking at the `examples`_, + `common design patterns`_, and the list of `basic API primitives`_. %package license Summary: license components for the eventlet package. @@ -110,23 +55,25 @@ Summary: python3 components for the eventlet package. Group: Default Requires: python3-core Provides: pypi(eventlet) +Requires: pypi(dnspython) +Requires: pypi(greenlet) +Requires: pypi(monotonic) +Requires: pypi(six) %description python3 python3 components for the eventlet package. %prep -%setup -q -n eventlet-0.20.0 -cd %{_builddir}/eventlet-0.20.0 -%patch1 -p1 +%setup -q -n eventlet-0.25.1 +cd %{_builddir}/eventlet-0.25.1 %build export http_proxy=http://127.0.0.1:9/ export https_proxy=http://127.0.0.1:9/ export no_proxy=localhost,127.0.0.1,0.0.0.0 export LANG=C.UTF-8 -export SOURCE_DATE_EPOCH=1582922085 -# -Werror is for werrorists +export SOURCE_DATE_EPOCH=1584641338 export GCC_IGNORE_WERROR=1 export CFLAGS="$CFLAGS -fno-lto " export FCFLAGS="$CFLAGS -fno-lto " @@ -139,7 +86,7 @@ python3 setup.py build export MAKEFLAGS=%{?_smp_mflags} rm -rf %{buildroot} mkdir -p %{buildroot}/usr/share/package-licenses/eventlet -cp %{_builddir}/eventlet-0.20.0/LICENSE %{buildroot}/usr/share/package-licenses/eventlet/ad33faded4baaba18a31704973874c531e94d910 +cp %{_builddir}/eventlet-0.25.1/LICENSE %{buildroot}/usr/share/package-licenses/eventlet/ad33faded4baaba18a31704973874c531e94d910 python3 -tt setup.py build install --root=%{buildroot} echo ----[ mark ]---- cat %{buildroot}/usr/lib/python3*/site-packages/*/requires.txt || : diff --git a/options.conf b/options.conf index 128e38e..a77c921 100644 --- a/options.conf +++ b/options.conf @@ -1,9 +1,10 @@ [package] name = eventlet -url = https://files.pythonhosted.org/packages/8b/c3/310059af7f77d18ac92d0927fea4e84b55ed0e9ddc57ae13937bd0c44187/eventlet-0.20.0.tar.gz +url = https://files.pythonhosted.org/packages/5a/e3/466d72d12a09cef2b80dea685141afd65914fd1cdea0be0609779be05e92/eventlet-0.25.1.tar.gz archives = giturl = https://github.com/eventlet/eventlet.git domain = +alias = [autospec] # build 32 bit libraries @@ -38,6 +39,8 @@ no_autostart = false nodebug = false # disable stripping binaries nostrip = false +# configure build also for openmpi +openmpi = false # optimize build for size over speed optimize_size = false # set profile for pgo diff --git a/release b/release index e373ee6..82cced2 100644 --- a/release +++ b/release @@ -1 +1 @@ -50 +51 diff --git a/series b/series deleted file mode 100644 index 1d4cc90..0000000 --- a/series +++ /dev/null @@ -1,2 +0,0 @@ -#0001-Logging-speedy.patch -0002-Replace-enum-compat-dependency-to-enum34.patch diff --git a/upstream b/upstream index d1a8d2f..565af3a 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -38c893c1b8e7f83ec1d285e85f0251d467d1bd1b/eventlet-0.20.0.tar.gz +dc4b3d1a45ae0e66519b70c0d6189610b6d35b24/eventlet-0.25.1.tar.gz diff --git a/versions b/versions index 5a03fb7..af2dabf 100644 --- a/versions +++ b/versions @@ -1 +1 @@ -0.20.0 +0.25.1 diff --git a/whatrequires b/whatrequires index 54a4e2a..e2497e0 100644 --- a/whatrequires +++ b/whatrequires @@ -5,6 +5,7 @@ cinder glance glance_store hacking +heat horizon ironic kazoo @@ -17,6 +18,7 @@ os-xenapi oslo.privsep oslo.service oslo.vmware +ryu sahara swift taskflow