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 =

Reply via email to