Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-greenlet for openSUSE:Factory checked in at 2021-06-11 22:30:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-greenlet (Old) and /work/SRC/openSUSE:Factory/.python-greenlet.new.32437 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-greenlet" Fri Jun 11 22:30:19 2021 rev:36 rq:897851 version:1.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-greenlet/python-greenlet.changes 2021-02-16 22:33:46.281438003 +0100 +++ /work/SRC/openSUSE:Factory/.python-greenlet.new.32437/python-greenlet.changes 2021-06-11 22:30:36.054122603 +0200 @@ -1,0 +2,11 @@ +Sun Jun 6 12:37:38 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 1.1.0: + * Add support for Python 3.10. Pre-built binary wheels for 3.10 are + not currently available for all platforms. The greenlet ABI is + different on Python 3.10 from all previous versions, but as 3.10 was + never supported before, and the ABI has not changed on other Python + versions, this is not considered a reason to change greenlet's major + version. + +------------------------------------------------------------------- Old: ---- greenlet-1.0.0.tar.gz New: ---- greenlet-1.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-greenlet.spec ++++++ --- /var/tmp/diff_new_pack.UncyAm/_old 2021-06-11 22:30:36.630123601 +0200 +++ /var/tmp/diff_new_pack.UncyAm/_new 2021-06-11 22:30:36.634123608 +0200 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-greenlet -Version: 1.0.0 +Version: 1.1.0 Release: 0 Summary: Lightweight in-process concurrent programming License: MIT ++++++ greenlet-1.0.0.tar.gz -> greenlet-1.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/.github/workflows/tests.yml new/greenlet-1.1.0/.github/workflows/tests.yml --- old/greenlet-1.0.0/.github/workflows/tests.yml 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/.github/workflows/tests.yml 2021-05-06 16:53:06.000000000 +0200 @@ -23,7 +23,7 @@ runs-on: ${{ matrix.os }} strategy: matrix: - python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9] + python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10.0-beta.1] os: [ubuntu-latest, macos-latest] steps: - uses: actions/checkout@v2 @@ -77,7 +77,7 @@ strategy: matrix: python-version: [3.9] - image: [manylinux2010_x86_64, manylinux2014_aarch64, manylinux2014_ppc64le] + image: [manylinux2010_x86_64, manylinux2014_aarch64, manylinux2014_ppc64le, manylinux2014_x86_64] steps: - name: checkout @@ -95,10 +95,17 @@ #run: | # docker run --rm --privileged multiarch/qemu-user-static:register --reset - name: Build and test greenlet + if: matrix.image == 'manylinux2010_x86_64' # An alternate way to do this is to run the container directly with a uses: # and then the script runs inside it. That may work better with caching. # See https://github.com/pyca/bcrypt/blob/f6b5ee2eda76d077c531362ac65e16f045cf1f29/.github/workflows/wheel-builder.yml - # The 2010 image is the last one that comes with Python 2.7. + # The 2010 image is the last one that comes with Python 2.7, + # and only up through the tag 2021-02-06-3d322a5 + env: + DOCKER_IMAGE: quay.io/pypa/${{ matrix.image }}:2021-02-06-3d322a5 + run: bash ./make-manylinux + - name: Build and test greenlet (other) + if: matrix.image != 'manylinux2010_x86_64' env: DOCKER_IMAGE: quay.io/pypa/${{ matrix.image }} run: bash ./make-manylinux diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/CHANGES.rst new/greenlet-1.1.0/CHANGES.rst --- old/greenlet-1.0.0/CHANGES.rst 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/CHANGES.rst 2021-05-06 16:53:06.000000000 +0200 @@ -2,6 +2,17 @@ Changes ========= +1.1.0 (2021-05-06) +================== + +- Add support for Python 3.10. Pre-built binary wheels for 3.10 are + not currently available for all platforms. The greenlet ABI is + different on Python 3.10 from all previous versions, but as 3.10 was + never supported before, and the ABI has not changed on other Python + versions, this is not considered a reason to change greenlet's major + version. + + 1.0.0 (2021-01-13) ================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/PKG-INFO new/greenlet-1.1.0/PKG-INFO --- old/greenlet-1.0.0/PKG-INFO 2021-01-13 14:34:18.239148000 +0100 +++ new/greenlet-1.1.0/PKG-INFO 2021-05-06 16:53:07.788602400 +0200 @@ -1,11 +1,11 @@ Metadata-Version: 2.1 Name: greenlet -Version: 1.0.0 +Version: 1.1.0 Summary: Lightweight in-process concurrent programming Home-page: https://greenlet.readthedocs.io/ License: MIT License Project-URL: Bug Tracker, https://github.com/python-greenlet/greenlet/issues -Project-URL: Source Code, https://github.com/python-greenlet/gevent/ +Project-URL: Source Code, https://github.com/python-greenlet/greenlet/ Project-URL: Documentation, https://greenlet.readthedocs.io/ Description: .. This file is included into docs/history.rst @@ -83,6 +83,7 @@ Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 Classifier: Operating System :: OS Independent Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/make-manylinux new/greenlet-1.1.0/make-manylinux --- old/greenlet-1.0.0/make-manylinux 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/make-manylinux 2021-05-06 16:53:06.000000000 +0200 @@ -27,7 +27,7 @@ mkdir -p /greenlet/wheelhouse OPATH="$PATH" which auditwheel - for variant in `ls -d /opt/python/cp{27,35,36,37,38,39}*`; do + for variant in `ls -d /opt/python/cp{27,35,36,37,38,39,310}*`; do export PATH="$variant/bin:$OPATH" echo "Building $variant $(python --version)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/setup.cfg new/greenlet-1.1.0/setup.cfg --- old/greenlet-1.0.0/setup.cfg 2021-01-13 14:34:18.239575600 +0100 +++ new/greenlet-1.1.0/setup.cfg 2021-05-06 16:53:07.789027200 +0200 @@ -1,5 +1,6 @@ [zest.releaser] python-file-with-version = src/greenlet/__init__.py +create-wheel = no [egg_info] tag_build = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/setup.py new/greenlet-1.1.0/setup.py --- old/greenlet-1.0.0/setup.py 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/setup.py 2021-05-06 16:53:06.000000000 +0200 @@ -114,7 +114,7 @@ url="https://greenlet.readthedocs.io/", project_urls={ 'Bug Tracker': 'https://github.com/python-greenlet/greenlet/issues', - 'Source Code': 'https://github.com/python-greenlet/gevent/', + 'Source Code': 'https://github.com/python-greenlet/greenlet/', 'Documentation': 'https://greenlet.readthedocs.io/', }, license="MIT License", @@ -138,6 +138,7 @@ 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Operating System :: OS Independent', 'Topic :: Software Development :: Libraries :: Python Modules' ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/src/greenlet/__init__.py new/greenlet-1.1.0/src/greenlet/__init__.py --- old/greenlet-1.0.0/src/greenlet/__init__.py 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/src/greenlet/__init__.py 2021-05-06 16:53:06.000000000 +0200 @@ -25,7 +25,7 @@ ### # Metadata ### -__version__ = '1.0.0' +__version__ = '1.1.0' from ._greenlet import _C_API # pylint:disable=no-name-in-module ### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/src/greenlet/greenlet.c new/greenlet-1.1.0/src/greenlet/greenlet.c --- old/greenlet-1.0.0/src/greenlet/greenlet.c 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/src/greenlet/greenlet.c 2021-05-06 16:53:06.000000000 +0200 @@ -96,6 +96,19 @@ # define GREENLET_PY37 0 #endif +#if PY_VERSION_HEX >= 0x30A00B1 +/* +Python 3.10 beta 1 changed tstate->use_tracing to a nested cframe member. +See https://github.com/python/cpython/pull/25276 +We have to save and restore this as well. +*/ +#define TSTATE_USE_TRACING(tstate) (tstate->cframe->use_tracing) +#define GREENLET_USE_CFRAME 1 +#else +#define TSTATE_USE_TRACING(tstate) (tstate->use_tracing) +#define GREENLET_USE_CFRAME 0 +#endif + #ifndef Py_SET_REFCNT /* Py_REFCNT and Py_SIZE macros are converted to functions https://bugs.python.org/issue39573 */ @@ -505,6 +518,9 @@ current->exc_value = tstate->exc_value; current->exc_traceback = tstate->exc_traceback; #endif +#if GREENLET_USE_CFRAME + current->cframe = tstate->cframe; +#endif } err = slp_switch(); if (err < 0) { /* error */ @@ -548,6 +564,10 @@ #endif green_clear_exc(target); +#if GREENLET_USE_CFRAME + tstate->cframe = target->cframe; +#endif + assert(ts_origin == NULL); Py_INCREF(target); ts_current = target; @@ -567,10 +587,10 @@ PyErr_Fetch(&exc_type, &exc_val, &exc_tb); tstate = PyThreadState_GET(); tstate->tracing++; - tstate->use_tracing = 0; + TSTATE_USE_TRACING(tstate) = 0; retval = PyObject_CallFunction(tracefunc, "O(OO)", event, origin, target); tstate->tracing--; - tstate->use_tracing = + TSTATE_USE_TRACING(tstate) = (tstate->tracing <= 0 && ((tstate->c_tracefunc != NULL) || (tstate->c_profilefunc != NULL))); if (retval == NULL) { @@ -897,6 +917,9 @@ } Py_INCREF(ts_current); ((PyGreenlet*)o)->parent = ts_current; +#if GREENLET_USE_CFRAME + ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe; +#endif } return o; } @@ -1601,8 +1624,9 @@ static PyGreenlet* PyGreenlet_New(PyObject* run, PyGreenlet* parent) { + /* XXX: Why doesn't this call green_new()? There's some duplicate + code. */ PyGreenlet* g = NULL; - g = (PyGreenlet*)PyType_GenericAlloc(&PyGreenlet_Type, 0); if (g == NULL) { return NULL; @@ -1625,7 +1649,9 @@ return NULL; } } - +#if GREENLET_USE_CFRAME + g->cframe = &PyThreadState_GET()->root_cframe; +#endif return g; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/src/greenlet/greenlet.h new/greenlet-1.1.0/src/greenlet/greenlet.h --- old/greenlet-1.0.0/src/greenlet/greenlet.h 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/src/greenlet/greenlet.h 2021-05-06 16:53:06.000000000 +0200 @@ -38,6 +38,9 @@ #if PY_VERSION_HEX >= 0x030700A3 PyObject* context; #endif +#if PY_VERSION_HEX >= 0x30A00B1 + CFrame* cframe; +#endif } PyGreenlet; #define PyGreenlet_Check(op) PyObject_TypeCheck(op, &PyGreenlet_Type) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/src/greenlet/tests/test_extension_interface.py new/greenlet-1.1.0/src/greenlet/tests/test_extension_interface.py --- old/greenlet-1.0.0/src/greenlet/tests/test_extension_interface.py 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/src/greenlet/tests/test_extension_interface.py 2021-05-06 16:53:06.000000000 +0200 @@ -72,3 +72,6 @@ str(seen[0]), 'take that sucka!', "message doesn't match") + +if __name__ == '__main__': + unittest.main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/src/greenlet.egg-info/PKG-INFO new/greenlet-1.1.0/src/greenlet.egg-info/PKG-INFO --- old/greenlet-1.0.0/src/greenlet.egg-info/PKG-INFO 2021-01-13 14:34:18.000000000 +0100 +++ new/greenlet-1.1.0/src/greenlet.egg-info/PKG-INFO 2021-05-06 16:53:07.000000000 +0200 @@ -1,11 +1,11 @@ Metadata-Version: 2.1 Name: greenlet -Version: 1.0.0 +Version: 1.1.0 Summary: Lightweight in-process concurrent programming Home-page: https://greenlet.readthedocs.io/ License: MIT License Project-URL: Bug Tracker, https://github.com/python-greenlet/greenlet/issues -Project-URL: Source Code, https://github.com/python-greenlet/gevent/ +Project-URL: Source Code, https://github.com/python-greenlet/greenlet/ Project-URL: Documentation, https://greenlet.readthedocs.io/ Description: .. This file is included into docs/history.rst @@ -83,6 +83,7 @@ Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 Classifier: Operating System :: OS Independent Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/greenlet-1.0.0/tox.ini new/greenlet-1.1.0/tox.ini --- old/greenlet-1.0.0/tox.ini 2021-01-13 14:34:17.000000000 +0100 +++ new/greenlet-1.1.0/tox.ini 2021-05-06 16:53:06.000000000 +0200 @@ -1,6 +1,6 @@ [tox] envlist = - py27,py35,py36,py37,py38,py39,docs + py27,py35,py36,py37,py38,py39,py310,docs [testenv] commands =