Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-gunicorn for openSUSE:Factory checked in at 2021-11-21 23:51:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gunicorn (Old) and /work/SRC/openSUSE:Factory/.python-gunicorn.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gunicorn" Sun Nov 21 23:51:46 2021 rev:21 rq:932372 version:20.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gunicorn/python-gunicorn.changes 2021-07-10 22:54:15.951868122 +0200 +++ /work/SRC/openSUSE:Factory/.python-gunicorn.new.1895/python-gunicorn.changes 2021-11-21 23:52:08.878259536 +0100 @@ -1,0 +2,6 @@ +Thu Nov 18 23:11:22 UTC 2021 - Steve Kowalik <steven.kowa...@suse.com> + +- Add patch support-eventlet-30-3.patch: + * Upstream patch to support eventlet >= 0.30.3 + +------------------------------------------------------------------- New: ---- support-eventlet-30-3.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gunicorn.spec ++++++ --- /var/tmp/diff_new_pack.bmdvig/_old 2021-11-21 23:52:09.422257782 +0100 +++ /var/tmp/diff_new_pack.bmdvig/_new 2021-11-21 23:52:09.426257769 +0100 @@ -34,6 +34,7 @@ Group: Development/Languages/Python URL: https://gunicorn.org 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: fdupes BuildRequires: python-rpm-macros @@ -79,6 +80,7 @@ sed -i -e '/cover/d' requirements_test.txt # do not check coverage sed -i -e 's/--cov[^ ]*//' -e 's/--cov-report[^ ]*//' setup.cfg +%autopatch -p1 %if %{with test} %check ++++++ support-eventlet-30-3.patch ++++++ >From 6a8ebb4844b2f28596ffe7421eb9f7d08c8dc4d8 Mon Sep 17 00:00:00 2001 From: Sergey Shepelev <temo...@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)