Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-eventlet for openSUSE:Factory
checked in at 2025-05-23 14:27:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-eventlet (Old)
and /work/SRC/openSUSE:Factory/.python-eventlet.new.2732 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-eventlet"
Fri May 23 14:27:32 2025 rev:63 rq:1278545 version:0.40.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-eventlet/python-eventlet.changes
2025-04-22 17:26:22.954295753 +0200
+++
/work/SRC/openSUSE:Factory/.python-eventlet.new.2732/python-eventlet.changes
2025-05-23 14:27:38.285176628 +0200
@@ -1,0 +2,10 @@
+Mon May 19 11:06:05 UTC 2025 - John Paul Adrian Glaubitz
<[email protected]>
+
+- Update to 0.40.0
+ * [fix] Fix ssl test when linking against openssl 3.5 (#1034)
+ * Drop support Python 3.8 (#1021)
+ * [doc] Various doc updates (#981, #1033)
+ * [env] Drop PyPy support (#1035 #1037)
+- Drop fix-test-with-openssl-3.5.0.patch, fixed upstream
+
+-------------------------------------------------------------------
Old:
----
eventlet-0.39.1.tar.gz
fix-test-with-openssl-3.5.0.patch
New:
----
eventlet-0.40.0.tar.gz
BETA DEBUG BEGIN:
Old: * [env] Drop PyPy support (#1035 #1037)
- Drop fix-test-with-openssl-3.5.0.patch, fixed upstream
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-eventlet.spec ++++++
--- /var/tmp/diff_new_pack.Ix5xQt/_old 2025-05-23 14:27:38.889202150 +0200
+++ /var/tmp/diff_new_pack.Ix5xQt/_new 2025-05-23 14:27:38.893202318 +0200
@@ -18,15 +18,13 @@
%{?sle15_python_module_pythons}
Name: python-eventlet
-Version: 0.39.1
+Version: 0.40.0
Release: 0
Summary: Concurrent networking library for Python
License: MIT
Group: Development/Languages/Python
URL: https://eventlet.net
Source:
https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE: fix-test-with-openssl-3.5.0.patch bsc#1241037 -- based
on PR 1034
-Patch1: fix-test-with-openssl-3.5.0.patch
BuildRequires: %{python_module hatch-vcs}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
++++++ eventlet-0.39.1.tar.gz -> eventlet-0.40.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/.github/workflows/test.yaml
new/eventlet-0.40.0/.github/workflows/test.yaml
--- old/eventlet-0.39.1/.github/workflows/test.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/.github/workflows/test.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -5,16 +5,16 @@
schedule:
- cron: "43 7 */14 * *" # every two weeks, time chosen by RNG
jobs:
- tox:
- name: "tox ${{ matrix.toxenv }}"
- continue-on-error: ${{ matrix.ignore-error }}
+ # Required tests
+ required-tests:
+ name: "Required Tests: ${{ matrix.toxenv }}"
runs-on: ${{ matrix.os }}
#
https://github.community/t/duplicate-checks-on-push-and-pull-request-simultaneous-event/18012/5
if: github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name != 'eventlet/eventlet'
timeout-minutes: 10
services:
mysql:
- image: mysql:5.7
+ image: mysql:8.0
env: { MYSQL_ALLOW_EMPTY_PASSWORD: yes }
ports: ["3306:3306"]
options: --health-cmd="mysqladmin ping" --health-timeout=5s
--health-retries=5 --health-interval=5s
@@ -29,28 +29,57 @@
fail-fast: false
matrix:
include:
- - { py: 3.8, toxenv: py38-epolls, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.8, toxenv: py38-openssl, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.8, toxenv: py38-poll, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.8, toxenv: py38-selects, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.8, toxenv: py38-asyncio, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.9, toxenv: py39-epolls, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.9, toxenv: py39-poll, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.9, toxenv: py39-selects, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.9, toxenv: py39-dnspython1, ignore-error: false, os:
ubuntu-latest }
- - { py: 3.9, toxenv: py39-asyncio, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.10", toxenv: py310-epolls, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.10", toxenv: py310-poll, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.10", toxenv: py310-selects, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.10", toxenv: ipv6, ignore-error: false, os: ubuntu-latest
}
- - { py: "3.10", toxenv: py310-asyncio, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.11", toxenv: py311-epolls, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.11", toxenv: py311-asyncio, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.12", toxenv: py312-epolls, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.12", toxenv: py312-asyncio, ignore-error: false, os:
ubuntu-latest }
- - { py: "3.13", toxenv: py313-epolls, ignore-error: false, os:
ubuntu-24.04 }
- - { py: "3.13", toxenv: py313-asyncio, ignore-error: false, os:
ubuntu-24.04 }
- - { py: pypy3.9, toxenv: pypy3-epolls, ignore-error: true, os:
ubuntu-20.04 }
+ - { py: 3.9, toxenv: py39-epolls, os: ubuntu-latest }
+ - { py: 3.9, toxenv: py39-openssl, os: ubuntu-latest }
+ - { py: 3.9, toxenv: py39-poll, os: ubuntu-latest }
+ - { py: 3.9, toxenv: py39-selects, os: ubuntu-latest }
+ - { py: 3.9, toxenv: py39-dnspython1, os: ubuntu-latest }
+ - { py: 3.9, toxenv: py39-asyncio, os: ubuntu-latest }
+ - { py: "3.10", toxenv: py310-epolls, os: ubuntu-latest }
+ - { py: "3.10", toxenv: py310-poll, os: ubuntu-latest }
+ - { py: "3.10", toxenv: py310-selects, os: ubuntu-latest }
+ - { py: "3.10", toxenv: ipv6, os: ubuntu-latest }
+ - { py: "3.10", toxenv: py310-asyncio, os: ubuntu-latest }
+ - { py: "3.11", toxenv: py311-epolls, os: ubuntu-latest }
+ - { py: "3.11", toxenv: py311-asyncio, os: ubuntu-latest }
+ - { py: "3.12", toxenv: py312-epolls, os: ubuntu-latest }
+ - { py: "3.12", toxenv: py312-asyncio, os: ubuntu-latest }
+ - { py: "3.13", toxenv: py313-epolls, os: ubuntu-latest }
+ - { py: "3.13", toxenv: py313-asyncio, os: ubuntu-latest }
+
+ steps:
+ - name: install system packages
+ run: sudo apt install -y --no-install-recommends ccache libffi-dev
default-libmysqlclient-dev libpq-dev libssl-dev libzmq3-dev
+
+ - uses: actions/checkout@v4
+ - name: cache pip
+ uses: actions/cache@v4
+ with:
+ path: ~/.cache/pip
+ key: ${{ runner.os }}-pip-${{ matrix.toxenv }}-${{
hashFiles('.github/workflows/test.yaml', 'setup.py') }}
+ restore-keys: |
+ ${{ runner.os }}-pip-
+ ${{ runner.os }}-
+ - name: cache tox
+ uses: actions/cache@v4
+ with:
+ path: .tox
+ key: ${{ runner.os }}-tox-${{ matrix.toxenv }}-${{
hashFiles('tox.ini') }}
+ restore-keys: |
+ ${{ runner.os }}-tox-
+ ${{ runner.os }}-
+
+ - name: setup python ${{ matrix.py }}
+ uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.py }}
+ - name: install codecov, tox
+ run: pip install codecov tox
+ - run: env
+ - name: run tests
+ run: tox --verbose --verbose -e ${{ matrix.toxenv }}
+ - name: codecov
+ run: codecov --flags=$(echo ${{ matrix.toxenv }} |tr -d -- '-.')
steps:
- name: install system packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/NEWS new/eventlet-0.40.0/NEWS
--- old/eventlet-0.39.1/NEWS 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/NEWS 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,14 @@
Unreleased
==========
+0.40.0
+======
+
+* [fix] Fix ssl test when linking against openssl 3.5 (#1034)
+* Drop support Python 3.8 (#1021)
+* [doc] Various doc updates (#981, #1033)
+* [env] Drop PyPy support (#1035 #1037)
+
0.39.1
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/PKG-INFO new/eventlet-0.40.0/PKG-INFO
--- old/eventlet-0.39.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: eventlet
-Version: 0.39.1
+Version: 0.40.0
Summary: Highly concurrent networking library
Project-URL: Homepage, https://github.com/eventlet/eventlet
Project-URL: History, https://github.com/eventlet/eventlet/blob/master/NEWS
@@ -19,7 +19,6 @@
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
@@ -27,7 +26,7 @@
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.8
+Requires-Python: >=3.9
Requires-Dist: dnspython>=1.15.0
Requires-Dist: greenlet>=1.0
Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/eventlet-0.39.1/doc/source/asyncio/guide/glossary.rst
new/eventlet-0.40.0/doc/source/asyncio/guide/glossary.rst
--- old/eventlet-0.39.1/doc/source/asyncio/guide/glossary.rst 2020-02-02
01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/doc/source/asyncio/guide/glossary.rst 2020-02-02
01:00:00.000000000 +0100
@@ -18,7 +18,7 @@
**Concurrency** is when two or more tasks can start, run, and complete in
overlapping time **periods**. It doesn't necessarily mean they'll ever both be
-running **at the same instant**. For example, _multitasking_ on a single-core
+running **at the same instant**. For example, *multitasking* on a single-core
machine.
.. _glossary-cooperative-multitasking:
@@ -106,7 +106,7 @@
Parallelism
-----------
-**Parallelism** is when tasks _literally_ run at the same time, e.g., on a
+**Parallelism** is when tasks *literally* run at the same time, e.g., on a
multicore processor. A condition that arises when at least two threads are
executing simultaneously.
@@ -129,7 +129,7 @@
which process should execute next. Therefore, all processes will get some
amount of CPU time at any given time.
-CPython also has _preemptive multitasking_: If a thread runs
+CPython also has **preemptive multitasking**: If a thread runs
uninterrupted for 1000 bytecode instructions in Python 2, or runs 15
milliseconds in Python 3, then it gives up the GIL and another thread may run.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/doc/source/asyncio/migration.rst
new/eventlet-0.40.0/doc/source/asyncio/migration.rst
--- old/eventlet-0.39.1/doc/source/asyncio/migration.rst 2020-02-02
01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/doc/source/asyncio/migration.rst 2020-02-02
01:00:00.000000000 +0100
@@ -108,9 +108,27 @@
deprecate CLI options that are related to Eventlet, we invite the reader
to take a look to :ref:`manage-your-deprecations`.
-The `awesome-asyncio <https://github.com/timofurrer/awesome-asyncio>`_ github
-repository propose a curated list of awesome Python asyncio frameworks,
-libraries, software and resources. Do not hesitate to take a look at it.
+For a more comprehensive migration guide, please visit the
+Eventlet migration guide available here:
+`https://removal.eventlet.org/ <https://removal.eventlet.org/>`_.
+
+This guide provides:
+
+* **Detailed migration steps** to transition from Eventlet to modern
alternatives.
+* **Multiple alternatives** to Eventlet, including ``asyncio`` for asynchronous
+ programming and Python's native ``threading`` module for multithreading.
+* **Advanced migration paradigms** to help you refactor your code incrementally
+ and minimize disruptions during the transition.
+
+For example, the section `Preparing for Migration
+<https://removal.eventlet.org/guide/preparing-for-migration/>`_
+introduces strategies to prepare your codebase for migration.
+It covers topics such as identifying blocking APIs, isolating Eventlet-specific
+code, and gradually replacing it with ``asyncio`` or other alternatives.
+
+The `awesome-asyncio <https://github.com/timofurrer/awesome-asyncio>`_ GitHub
+repository proposes a curated list of awesome Python asyncio frameworks,
+libraries, software, and resources. Do not hesitate to take a look at it.
You may find candidates compatible with asyncio that can allow you to replace
some of your actual underlying libraries.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/doc/source/index.rst
new/eventlet-0.40.0/doc/source/index.rst
--- old/eventlet-0.39.1/doc/source/index.rst 2020-02-02 01:00:00.000000000
+0100
+++ new/eventlet-0.40.0/doc/source/index.rst 2020-02-02 01:00:00.000000000
+0100
@@ -74,7 +74,7 @@
Supported Python Versions
=========================
-Currently supporting CPython 3.8+.
+Currently supporting CPython 3.9+.
Concepts & References
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/eventlet/_version.py
new/eventlet-0.40.0/eventlet/_version.py
--- old/eventlet-0.39.1/eventlet/_version.py 2020-02-02 01:00:00.000000000
+0100
+++ new/eventlet-0.40.0/eventlet/_version.py 2020-02-02 01:00:00.000000000
+0100
@@ -17,5 +17,5 @@
__version_tuple__: VERSION_TUPLE
version_tuple: VERSION_TUPLE
-__version__ = version = '0.39.1'
-__version_tuple__ = version_tuple = (0, 39, 1)
+__version__ = version = '0.40.0'
+__version_tuple__ = version_tuple = (0, 40, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/eventlet/greenio/base.py
new/eventlet-0.40.0/eventlet/greenio/base.py
--- old/eventlet-0.39.1/eventlet/greenio/base.py 2020-02-02
01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/eventlet/greenio/base.py 2020-02-02
01:00:00.000000000 +0100
@@ -426,13 +426,6 @@
def __exit__(self, *args):
self.close()
- if "__pypy__" in sys.builtin_module_names:
- def _reuse(self):
- getattr(self.fd, '_sock', self.fd)._reuse()
-
- def _drop(self):
- getattr(self.fd, '_sock', self.fd)._drop()
-
def _operation_on_closed_file(*args, **kwargs):
raise ValueError("I/O operation on closed file")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/pyproject.toml
new/eventlet-0.40.0/pyproject.toml
--- old/eventlet-0.39.1/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -17,7 +17,7 @@
]
description = "Highly concurrent networking library"
readme = "README.rst"
-requires-python = ">=3.8"
+requires-python = ">=3.9"
license = {text = "MIT"}
classifiers = [
"Development Status :: 4 - Beta",
@@ -27,7 +27,6 @@
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/tests/ssl_test.py
new/eventlet-0.40.0/tests/ssl_test.py
--- old/eventlet-0.39.1/tests/ssl_test.py 2020-02-02 01:00:00.000000000
+0100
+++ new/eventlet-0.40.0/tests/ssl_test.py 2020-02-02 01:00:00.000000000
+0100
@@ -80,7 +80,8 @@
sock.recv(8192)
try:
self.assertEqual(b'', sock.recv(8192))
- except greenio.SSL.ZeroReturnError:
+ except (greenio.SSL.ZeroReturnError,
+ BrokenPipeError):
pass
sock = listen_ssl_socket()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/eventlet-0.39.1/tox.ini new/eventlet-0.40.0/tox.ini
--- old/eventlet-0.39.1/tox.ini 2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.40.0/tox.ini 2020-02-02 01:00:00.000000000 +0100
@@ -13,10 +13,9 @@
envlist =
ipv6
pep8
- py38-openssl
+ py39-openssl
py39-dnspython1
- pypy3-epolls
- py{38,39,310,311,312,313}-{selects,poll,epolls,asyncio}
+ py{39,310,311,312,313}-{selects,poll,epolls,asyncio}
skipsdist = True
[testenv:ipv6]
@@ -69,11 +68,11 @@
coverage
pytest
pytest-cov
- py38-openssl: pyopenssl==22.1.0
+ py39-openssl: pyopenssl==22.1.0
pypy3: psycopg2cffi-compat==1.1
- py{38,39}-{selects,poll,epolls}: pyzmq==21.0.2
- py{38,39,310,311}: mysqlclient==2.0.3
- py{38,39}: psycopg2-binary==2.8.4
+ py39-{selects,poll,epolls}: pyzmq==21.0.2
+ py{39,310,311}: mysqlclient==2.0.3
+ py39: psycopg2-binary==2.8.4
py{310,311}: psycopg2-binary==2.9.5
py{310,311}: pyzmq==25.0.0
dnspython1: dnspython<2