From e1dc75541dcf4a6ba702b71ea91c40403f37b0c34e6e125c55cf9a5c15288686 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 4 Dec 2018 13:26:03 +0000 Subject: [PATCH 1/6] Remove superfluous devel dependency for noarch package OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-eventlet?expand=0&rev=50 --- python-eventlet.changes | 5 +++++ python-eventlet.spec | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/python-eventlet.changes b/python-eventlet.changes index aef971d..1a767dc 100644 --- a/python-eventlet.changes +++ b/python-eventlet.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 4 12:47:46 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + ------------------------------------------------------------------- Fri Jan 12 12:57:09 UTC 2018 - tbechtold@suse.com diff --git a/python-eventlet.spec b/python-eventlet.spec index 39aaffe..2a5ff91 100644 --- a/python-eventlet.spec +++ b/python-eventlet.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -29,7 +29,6 @@ Patch0: 0001-Fix-SSL-connection-reset-errors.patch # PATCH-FIX-UPSTREAM PR-459.patch -- https://github.com/eventlet/eventlet/pull/459 Patch1: PR-459.patch BuildRequires: %{python_module Sphinx} -BuildRequires: %{python_module devel} BuildRequires: %{python_module greenlet} BuildRequires: %{python_module setuptools} BuildRequires: fdupes From 03761d983119ea712d73a4dd9903b7a7844e626dd612849051e5bc9871fc6c5c Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 4 Dec 2018 17:12:58 +0000 Subject: [PATCH 2/6] Clean up the SPEC file OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-eventlet?expand=0&rev=51 --- python-eventlet.spec | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/python-eventlet.spec b/python-eventlet.spec index 2a5ff91..66c95b7 100644 --- a/python-eventlet.spec +++ b/python-eventlet.spec @@ -23,7 +23,7 @@ Release: 0 Summary: Concurrent networking library for Python License: MIT Group: Development/Languages/Python -Url: http://eventlet.net +URL: http://eventlet.net Source: https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-%{version}.tar.gz Patch0: 0001-Fix-SSL-connection-reset-errors.patch # PATCH-FIX-UPSTREAM PR-459.patch -- https://github.com/eventlet/eventlet/pull/459 @@ -33,14 +33,13 @@ BuildRequires: %{python_module greenlet} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -%if %python_version_nodots < 34 -Requires: python-enum34 -%endif # eventlet parses /etc/protocols which is not available in normal build envs Requires: netcfg Requires: python-greenlet >= 0.3 -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch +%if %{python_version_nodots} < 34 +Requires: python-enum34 +%endif %python_subpackages %description @@ -78,12 +77,11 @@ sed -i "s|^#!.*||" eventlet/support/greendns.py # Fix non-executable script %fdupes %{buildroot}%{_prefix} %files %{python_files} -%defattr(-,root,root,-) -%doc AUTHORS LICENSE NEWS README.rst +%license LICENSE +%doc AUTHORS NEWS README.rst %{python_sitelib}/* %files %{python_files doc} -%defattr(-,root,root,-) %doc build/sphinx/html examples %changelog From 718fe09a9d454a26f45b4a874435729ab4e79256b2e4b396ab471960854bf383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 6 Dec 2018 13:26:54 +0000 Subject: [PATCH 3/6] - Fix fdupes call OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-eventlet?expand=0&rev=52 --- python-eventlet.changes | 5 +++++ python-eventlet.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/python-eventlet.changes b/python-eventlet.changes index 1a767dc..f94a45f 100644 --- a/python-eventlet.changes +++ b/python-eventlet.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Dec 6 13:26:44 UTC 2018 - Tomáš Chvátal + +- Fix fdupes call + ------------------------------------------------------------------- Tue Dec 4 12:47:46 UTC 2018 - Matej Cepl diff --git a/python-eventlet.spec b/python-eventlet.spec index 66c95b7..43211f7 100644 --- a/python-eventlet.spec +++ b/python-eventlet.spec @@ -74,7 +74,7 @@ sed -i "s|^#!.*||" eventlet/support/greendns.py # Fix non-executable script %install %python_install -%fdupes %{buildroot}%{_prefix} +%python_expand %fdupes %{buildroot}%{$python_sitelib} %files %{python_files} %license LICENSE From f7e5fd44cdbf35c6da80d86a9dffb2dcedc02f99184847d33cd63cc20bd8bf32 Mon Sep 17 00:00:00 2001 From: Thomas Bechtold Date: Thu, 6 Dec 2018 15:44:37 +0000 Subject: [PATCH 4/6] - update to 0.24.1: * greendns: don't contact nameservers if one entry is returned from hosts file; Thanks to Daniel Alvarez * 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 * 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] * 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 * 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 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-eventlet?expand=0&rev=53 --- 0001-Fix-SSL-connection-reset-errors.patch | 18 ------ eventlet-0.20.0.tar.gz | 3 - eventlet-0.24.1.tar.gz | 3 + python-eventlet.changes | 64 ++++++++++++++++++++++ python-eventlet.spec | 10 ++-- 5 files changed, 71 insertions(+), 27 deletions(-) delete mode 100644 0001-Fix-SSL-connection-reset-errors.patch delete mode 100644 eventlet-0.20.0.tar.gz create mode 100644 eventlet-0.24.1.tar.gz diff --git a/0001-Fix-SSL-connection-reset-errors.patch b/0001-Fix-SSL-connection-reset-errors.patch deleted file mode 100644 index bfd30a2..0000000 --- a/0001-Fix-SSL-connection-reset-errors.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/eventlet/wsgi.py b/eventlet/wsgi.py -index ef458aa..3c848b7 100644 ---- a/eventlet/wsgi.py -+++ b/eventlet/wsgi.py -@@ -346,7 +346,12 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler): - except greenio.SSL.ZeroReturnError: - self.raw_requestline = '' - except socket.error as e: -- if support.get_errno(e) not in BAD_SOCK: -+ last_errno = support.get_errno(e) -+ if last_errno in BROKEN_SOCK: -+ self.server.log.debug('(%s) connection reset by peer %r', -+ self.server.pid, -+ self.client_address) -+ elif last_errno not in BAD_SOCK: - raise - self.raw_requestline = '' - diff --git a/eventlet-0.20.0.tar.gz b/eventlet-0.20.0.tar.gz deleted file mode 100644 index 38c757c..0000000 --- a/eventlet-0.20.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2e17cda85f2003796f13de0e6c59a5253c0afd1f45dfc97bb9b6bfb8962f7895 -size 466828 diff --git a/eventlet-0.24.1.tar.gz b/eventlet-0.24.1.tar.gz new file mode 100644 index 0000000..25c5bc4 --- /dev/null +++ b/eventlet-0.24.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9d31a3c8dbcedbcce5859a919956d934685b17323fc80e1077cb344a2ffa68d +size 391579 diff --git a/python-eventlet.changes b/python-eventlet.changes index f94a45f..b4466e2 100644 --- a/python-eventlet.changes +++ b/python-eventlet.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Thu Dec 6 15:31:02 UTC 2018 - Thomas Bechtold + +- update to 0.24.1: + * greendns: don't contact nameservers if one entry is returned from hosts file; Thanks to Daniel Alvarez + * 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 + * 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] + * 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 + * 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 + * 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 + * 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 + ------------------------------------------------------------------- Thu Dec 6 13:26:44 UTC 2018 - Tomáš Chvátal diff --git a/python-eventlet.spec b/python-eventlet.spec index 43211f7..0729e82 100644 --- a/python-eventlet.spec +++ b/python-eventlet.spec @@ -18,16 +18,13 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-eventlet -Version: 0.20.0 +Version: 0.24.1 Release: 0 Summary: Concurrent networking library for Python License: MIT Group: Development/Languages/Python URL: http://eventlet.net Source: https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-%{version}.tar.gz -Patch0: 0001-Fix-SSL-connection-reset-errors.patch -# PATCH-FIX-UPSTREAM PR-459.patch -- https://github.com/eventlet/eventlet/pull/459 -Patch1: PR-459.patch BuildRequires: %{python_module Sphinx} BuildRequires: %{python_module greenlet} BuildRequires: %{python_module setuptools} @@ -35,7 +32,10 @@ BuildRequires: fdupes BuildRequires: python-rpm-macros # eventlet parses /etc/protocols which is not available in normal build envs Requires: netcfg +Requires: python-dnspython >= 1.15.0 Requires: python-greenlet >= 0.3 +Requires: python-monotonic >= 1.4 +Requires: python-six >= 1.10.0 BuildArch: noarch %if %{python_version_nodots} < 34 Requires: python-enum34 @@ -63,8 +63,6 @@ for Python that allows changing how code is run. %prep %setup -q -n eventlet-%{version} -%patch0 -p1 -%patch1 -p1 sed -i '/enum.compat/d' setup.py # crude way to drop the strange "enum-compat" requirement sed -i "s|^#!.*||" eventlet/support/greendns.py # Fix non-executable script From 767c6bc42d37fcafaf660fdc82f08ee67bdca6e57bd320ece3e94f935f8d1558 Mon Sep 17 00:00:00 2001 From: Thomas Bechtold Date: Thu, 6 Dec 2018 15:45:09 +0000 Subject: [PATCH 5/6] OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-eventlet?expand=0&rev=54 --- PR-459.patch | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 PR-459.patch diff --git a/PR-459.patch b/PR-459.patch deleted file mode 100644 index bf2087e..0000000 --- a/PR-459.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6ad13590aff7d6544443e6646555d949bd316796 Mon Sep 17 00:00:00 2001 -From: Ralf Haferkamp -Date: Fri, 12 Jan 2018 13:48:09 +0100 -Subject: [PATCH] greendns: Treat /etc/hosts entries case-insensitive - -Hostname in /etc/hosts are not case-sensitive, this fixes -HostsResolver() accordingly. - -eventlet#458 - -Co-Authored-By: Thomas Bechtold ---- - eventlet/support/greendns.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/eventlet/support/greendns.py b/eventlet/support/greendns.py -index cff0581c..140388ec 100644 ---- a/eventlet/support/greendns.py -+++ b/eventlet/support/greendns.py -@@ -222,9 +222,10 @@ def _load(self): - ipmap = self._v6 - else: - continue -- cname = parts.pop(0) -+ cname = parts.pop(0).lower() - ipmap[cname] = ip - for alias in parts: -+ alias = alias.lower() - ipmap[alias] = ip - self._aliases[alias] = cname - self._last_load = time.time() -@@ -251,6 +252,7 @@ def query(self, qname, rdtype=dns.rdatatype.A, rdclass=dns.rdataclass.IN, - qname = dns.name.from_text(qname) - else: - name = str(qname) -+ name = name.lower() - rrset = dns.rrset.RRset(qname, rdclass, rdtype) - rrset.ttl = self._last_load + self.interval - now - if rdclass == dns.rdataclass.IN and rdtype == dns.rdatatype.A: From 3d1fd68fe1f22edeb0e7d37485d6bf5fea5efc45837583da63ef6fe25e2b95bd Mon Sep 17 00:00:00 2001 From: Thomas Bechtold Date: Fri, 7 Dec 2018 08:49:40 +0000 Subject: [PATCH 6/6] - Drop 0001-Fix-SSL-connection-reset-errors.patch . Merged upstream - Drop PR-459.patch . Merged upstream OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-eventlet?expand=0&rev=55 --- python-eventlet.changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-eventlet.changes b/python-eventlet.changes index b4466e2..961e757 100644 --- a/python-eventlet.changes +++ b/python-eventlet.changes @@ -61,6 +61,8 @@ Thu Dec 6 15:31:02 UTC 2018 - Thomas Bechtold * 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 +- Drop 0001-Fix-SSL-connection-reset-errors.patch . Merged upstream +- Drop PR-459.patch . Merged upstream ------------------------------------------------------------------- Thu Dec 6 13:26:44 UTC 2018 - Tomáš Chvátal