From 1211730c9850c1076a86745049e2918e862278acf822ac43de015d8494fab08d Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Thu, 4 May 2023 14:46:15 +0000 Subject: [PATCH] - update to 2.0.2: * Fix calling ``greenlet.settrace()`` with the same tracer object that was currently active. * Various compilation and standards conformance fixes. * Python 3.11: Fix a memory leak. See issue 328 and gevent issue 1924. - 2.0.0.post0 (2022-11-03) * Add Programming Language :: Python :: 3.11 to the PyPI classifier metadata. - 2.0.0rc5 (2022-10-31) * Linux: Fix another group of rare crashes that could occur when shutting down an interpeter running multiple threads. See issue 325. - 2.0.0rc4 (2022-10-30) * Linux: Fix a rare crash that could occur when shutting down an interpreter running multiple threads, when some of those threads are in greenlets making calls to functions that release the GIL. - 2.0.0rc1 (2022-10-27) * Deal gracefully with greenlet switches that occur while deferred deallocation of objects is happening using CPython's "trash can" mechanism. Previously, if a large nested container held items that switched greenlets during delayed deallocation, and that second greenlet also invoked the trash can, CPython's internal state could become corrupt. This was visible as an assertion error in debug builds. Now, the relevant internal state is saved and restored during greenlet switches. See also gevent issue 1909. * Rename the C API function PyGreenlet_GET_PARENT to PyGreenlet_GetParent for consistency. The old name remains available as a deprecated alias. - 2.0.0a1 (2022-01-20) * Drop support for very old versions of GCC and MSVC. Compilation now requires a compiler that either supports C++11 or has some other intrinsic way to create thread local variables; for older GCC, clang OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-greenlet?expand=0&rev=68 --- greenlet-1.1.3.tar.gz | 3 --- greenlet-2.0.2.tar.gz | 3 +++ python-greenlet.changes | 46 +++++++++++++++++++++++++++++++++++++++++ python-greenlet.spec | 13 ++++++------ sphinx-6.0.0.patch | 14 ------------- 5 files changed, 56 insertions(+), 23 deletions(-) delete mode 100644 greenlet-1.1.3.tar.gz create mode 100644 greenlet-2.0.2.tar.gz delete mode 100644 sphinx-6.0.0.patch diff --git a/greenlet-1.1.3.tar.gz b/greenlet-1.1.3.tar.gz deleted file mode 100644 index 7b198a7..0000000 --- a/greenlet-1.1.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bcb6c6dd1d6be6d38d6db283747d07fda089ff8c559a835236560a4410340455 -size 91624 diff --git a/greenlet-2.0.2.tar.gz b/greenlet-2.0.2.tar.gz new file mode 100644 index 0000000..cb05940 --- /dev/null +++ b/greenlet-2.0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 +size 164980 diff --git a/python-greenlet.changes b/python-greenlet.changes index fdffb9f..080d14f 100644 --- a/python-greenlet.changes +++ b/python-greenlet.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Thu May 4 14:37:30 UTC 2023 - Dirk Müller + +- update to 2.0.2: + * Fix calling ``greenlet.settrace()`` with the same tracer + object that was currently active. + * Various compilation and standards conformance fixes. + * Python 3.11: Fix a memory leak. See issue 328 and gevent issue 1924. +- 2.0.0.post0 (2022-11-03) + * Add Programming Language :: Python :: 3.11 to the PyPI classifier + metadata. +- 2.0.0rc5 (2022-10-31) + * Linux: Fix another group of rare crashes that could occur when shutting + down an interpeter running multiple threads. See issue 325. +- 2.0.0rc4 (2022-10-30) + * Linux: Fix a rare crash that could occur when shutting down an interpreter + running multiple threads, when some of those threads are in greenlets + making calls to functions that release the GIL. +- 2.0.0rc1 (2022-10-27) + * Deal gracefully with greenlet switches that occur while deferred + deallocation of objects is happening using CPython's "trash can" + mechanism. Previously, if a large nested container held items that + switched greenlets during delayed deallocation, and that second greenlet + also invoked the trash can, CPython's internal state could become corrupt. + This was visible as an assertion error in debug builds. Now, the relevant + internal state is saved and restored during greenlet switches. See also + gevent issue 1909. + * Rename the C API function PyGreenlet_GET_PARENT to PyGreenlet_GetParent + for consistency. The old name remains available as a deprecated alias. +- 2.0.0a1 (2022-01-20) + * Drop support for very old versions of GCC and MSVC. + Compilation now requires a compiler that either supports C++11 or has some + other intrinsic way to create thread local variables; for older GCC, clang + and SunStudio we use __thread, while for older MSVC we use + __declspec(thread). + * This version of greenlet is known to compile and pass tests on CPython + 3.11.0a4. Earlier or later 3.11 releases may or may not work. See PR 280. + Special thanks to Brandt Bucher and the CPython developers. + * Fix several leaks that could occur when using greenlets from multiple + threads. For example, it is no longer necessary to call getcurrent() + before exiting a thread to allow its main greenlet to be cleaned up. See + issue 252. + * Fix the C API PyGreenlet_Throw to perform the same error checking that the + Python API greenlet.throw() does. Previously, it did no error checking. +- drop sphinx-6.0.0.patch (upstream) + ------------------------------------------------------------------- Fri Apr 21 12:25:51 UTC 2023 - Dirk Müller diff --git a/python-greenlet.spec b/python-greenlet.spec index a42d964..db4d430 100644 --- a/python-greenlet.spec +++ b/python-greenlet.spec @@ -19,7 +19,7 @@ %{?sle15_python_module_pythons} Name: python-greenlet -Version: 1.1.3 +Version: 2.0.2 Release: 0 Summary: Lightweight in-process concurrent programming License: MIT @@ -27,10 +27,11 @@ Group: Development/Libraries/Python URL: https://github.com/python-greenlet/greenlet Source0: https://files.pythonhosted.org/packages/source/g/greenlet/greenlet-%{version}.tar.gz Source9: python-greenlet-rpmlintrc -# PATCH-FIX-OPENSUSE sphinx-6.0.0.patch -Patch0: sphinx-6.0.0.patch BuildRequires: %{python_module devel} -BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module objgraph} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module psutil} +BuildRequires: %{python_module wheel} BuildRequires: c++_compiler BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -57,13 +58,13 @@ This package contains header files required for C modules development. %build export CFLAGS="%{optflags} -fno-tree-dominator-opts -fno-strict-aliasing" -%python_build +%pyproject_wheel export PYTHONPATH=$PWD/src cd docs && make html && rm _build/html/.buildinfo %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitearch} %check diff --git a/sphinx-6.0.0.patch b/sphinx-6.0.0.patch deleted file mode 100644 index 14b666a..0000000 --- a/sphinx-6.0.0.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: greenlet-1.1.3/docs/conf.py -=================================================================== ---- greenlet-1.1.3.orig/docs/conf.py -+++ greenlet-1.1.3/docs/conf.py -@@ -271,7 +271,7 @@ autoclass_content = 'both' - - extlinks = { - 'issue': ('https://github.com/python-greenlet/greenlet/issues/%s', -- 'issue #'), -+ 'issue #%s'), - 'pr': ('https://github.com/python-greenlet/greenlet/pull/%s', -- 'pull request #') -+ 'pull request #%s') - }