- Add patch support-eventlet-30-3.patch:
* Upstream patch to support eventlet >= 0.30.3 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gunicorn?expand=0&rev=51
This commit is contained in:
parent
3ce04a9bcf
commit
2cd028eda6
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 18 23:11:22 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Add patch support-eventlet-30-3.patch:
|
||||||
|
* Upstream patch to support eventlet >= 0.30.3
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jul 5 15:12:53 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
Mon Jul 5 15:12:53 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ License: MIT
|
|||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://gunicorn.org
|
URL: https://gunicorn.org
|
||||||
Source: https://files.pythonhosted.org/packages/source/g/gunicorn/gunicorn-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/g/gunicorn/gunicorn-%{version}.tar.gz
|
||||||
|
Patch0: support-eventlet-30-3.patch
|
||||||
BuildRequires: %{python_module setuptools >= 3.0}
|
BuildRequires: %{python_module setuptools >= 3.0}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
@ -79,6 +80,7 @@ sed -i 's/==.*//' requirements_test.txt
|
|||||||
sed -i -e '/cover/d' requirements_test.txt
|
sed -i -e '/cover/d' requirements_test.txt
|
||||||
# do not check coverage
|
# do not check coverage
|
||||||
sed -i -e 's/--cov[^ ]*//' -e 's/--cov-report[^ ]*//' setup.cfg
|
sed -i -e 's/--cov[^ ]*//' -e 's/--cov-report[^ ]*//' setup.cfg
|
||||||
|
%autopatch -p1
|
||||||
|
|
||||||
%if %{with test}
|
%if %{with test}
|
||||||
%check
|
%check
|
||||||
|
50
support-eventlet-30-3.patch
Normal file
50
support-eventlet-30-3.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From 6a8ebb4844b2f28596ffe7421eb9f7d08c8dc4d8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sergey Shepelev <temotor@gmail.com>
|
||||||
|
Date: Thu, 6 May 2021 12:54:06 +0300
|
||||||
|
Subject: [PATCH] eventlet worker: ALREADY_HANDLED -> WSGI_LOCAL
|
||||||
|
|
||||||
|
Eventlet v0.30.3+ removed wsgi.ALREADY_HANDLED in favor of
|
||||||
|
`wsgi.WSGI_LOCAL.already_handled: bool`
|
||||||
|
|
||||||
|
Sorry, this breaking change happened during only patch
|
||||||
|
version increase 0.30.2 -> 0.30.3
|
||||||
|
|
||||||
|
https://github.com/eventlet/eventlet/issues/543
|
||||||
|
https://github.com/eventlet/eventlet/pull/544
|
||||||
|
---
|
||||||
|
gunicorn/workers/geventlet.py | 11 ++++++++++-
|
||||||
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gunicorn/workers/geventlet.py b/gunicorn/workers/geventlet.py
|
||||||
|
index ffdb206c0..ea82f3d62 100644
|
||||||
|
--- a/gunicorn/workers/geventlet.py
|
||||||
|
+++ b/gunicorn/workers/geventlet.py
|
||||||
|
@@ -17,11 +17,16 @@
|
||||||
|
|
||||||
|
from eventlet import hubs, greenthread
|
||||||
|
from eventlet.greenio import GreenSocket
|
||||||
|
-from eventlet.wsgi import ALREADY_HANDLED as EVENTLET_ALREADY_HANDLED
|
||||||
|
+import eventlet.wsgi
|
||||||
|
import greenlet
|
||||||
|
|
||||||
|
from gunicorn.workers.base_async import AsyncWorker
|
||||||
|
|
||||||
|
+# ALREADY_HANDLED is removed in 0.30.3+ now it's `WSGI_LOCAL.already_handled: bool`
|
||||||
|
+# https://github.com/eventlet/eventlet/pull/544
|
||||||
|
+EVENTLET_WSGI_LOCAL = getattr(eventlet.wsgi, "WSGI_LOCAL", None)
|
||||||
|
+EVENTLET_ALREADY_HANDLED = getattr(eventlet.wsgi, "ALREADY_HANDLED", None)
|
||||||
|
+
|
||||||
|
|
||||||
|
def _eventlet_socket_sendfile(self, file, offset=0, count=None):
|
||||||
|
# Based on the implementation in gevent which in turn is slightly
|
||||||
|
@@ -125,6 +130,10 @@ def patch(self):
|
||||||
|
patch_sendfile()
|
||||||
|
|
||||||
|
def is_already_handled(self, respiter):
|
||||||
|
+ # eventlet >= 0.30.3
|
||||||
|
+ if getattr(EVENTLET_WSGI_LOCAL, "already_handled", None):
|
||||||
|
+ raise StopIteration()
|
||||||
|
+ # eventlet < 0.30.3
|
||||||
|
if respiter == EVENTLET_ALREADY_HANDLED:
|
||||||
|
raise StopIteration()
|
||||||
|
return super().is_already_handled(respiter)
|
Loading…
Reference in New Issue
Block a user