diff --git a/.gitignore b/.gitignore index df8d51a..4088ce5 100644 --- a/.gitignore +++ b/.gitignore @@ -26,12 +26,3 @@ gevent-0.13.0.tar.gz /gevent-20.9.0.tar.gz /gevent-21.1.2.tar.gz /gevent-21.12.0.tar.gz -/gevent-22.10.2.tar.gz -/gevent-23.7.0.tar.gz -/gevent-23.9.1.tar.gz -/gevent-24.2.1.tar.gz -/gevent-24.10.1.tar.gz -/gevent-24.10.2.tar.gz -/gevent-24.11.1.tar.gz -/gevent-25.9.1.tar.gz -/gevent-26.7.0.tar.gz diff --git a/master...hroncok:py311b3.patch b/master...hroncok:py311b3.patch new file mode 100644 index 0000000..31dbd5c --- /dev/null +++ b/master...hroncok:py311b3.patch @@ -0,0 +1,267 @@ +From af14567992dfc709a6732ec8830e6840cb83f609 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Wed, 8 Jun 2022 15:09:35 +0200 +Subject: [PATCH 1/3] Update greenlet for Python 3.11 + +From https://github.com/python-greenlet/greenlet/pull/306 + +Co-Authored-By: Victor Stinner +--- + deps/greenlet/greenlet.h | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/deps/greenlet/greenlet.h b/deps/greenlet/greenlet.h +index 830bef8dd..4a26ace78 100644 +--- a/deps/greenlet/greenlet.h ++++ b/deps/greenlet/greenlet.h +@@ -14,6 +14,15 @@ extern "C" { + /* This is deprecated and undocumented. It does not change. */ + #define GREENLET_VERSION "1.0.0" + ++#if PY_VERSION_HEX >= 0x30B00A6 ++# define GREENLET_PY311 1 ++/* We need this for _PyInterpreterFrame apparently */ ++#include ++#else ++#define GREENLET_PY311 0 ++#define _PyCFrame CFrame ++#endif ++ + typedef struct _greenlet { + PyObject_HEAD + char* stack_start; +@@ -25,6 +34,12 @@ typedef struct _greenlet { + PyObject* run_info; + struct _frame* top_frame; + int recursion_depth; ++#if GREENLET_PY311 ++ _PyInterpreterFrame *current_frame; ++ _PyStackChunk *datastack_chunk; ++ PyObject **datastack_top; ++ PyObject **datastack_limit; ++#endif + PyObject* weakreflist; + #if PY_VERSION_HEX >= 0x030700A3 + _PyErr_StackItem* exc_info; +@@ -39,7 +54,7 @@ typedef struct _greenlet { + PyObject* context; + #endif + #if PY_VERSION_HEX >= 0x30A00B1 +- CFrame* cframe; ++ _PyCFrame* cframe; + #endif + } PyGreenlet; + + +From 4c3c5842bfb2982bf8560821db723b354eeede66 Mon Sep 17 00:00:00 2001 +From: Victor Stinner +Date: Tue, 1 Mar 2022 22:28:40 +0100 +Subject: [PATCH 2/3] Add Python 3.11 beta 3 support + +Co-Authored-By: Petr Viktorin +--- + _setuputils.py | 3 ++ + src/gevent/_gevent_cgreenlet.pxd | 47 ++++++++++++++++++++------------ + src/gevent/greenlet.py | 3 +- + 3 files changed, 35 insertions(+), 18 deletions(-) + +diff --git a/_setuputils.py b/_setuputils.py +index 7257b3eea..62748571e 100644 +--- a/_setuputils.py ++++ b/_setuputils.py +@@ -244,6 +244,9 @@ def cythonize1(ext): + 'infer_types': True, + 'nonecheck': False, + }, ++ compile_time_env={ ++ 'PY39B1': sys.hexversion >= 0x030900B1, ++ }, + # The common_utility_include_dir (not well documented) + # causes Cython to emit separate files for much of the + # static support code. Each of the modules then includes +diff --git a/src/gevent/_gevent_cgreenlet.pxd b/src/gevent/_gevent_cgreenlet.pxd +index cbb81a638..06ca25e5c 100644 +--- a/src/gevent/_gevent_cgreenlet.pxd ++++ b/src/gevent/_gevent_cgreenlet.pxd +@@ -52,35 +52,48 @@ cdef inline void greenlet_init(): + PyGreenlet_Import() + _greenlet_imported = True + +-cdef extern from "Python.h": ++ctypedef object CodeType + +- ctypedef class types.CodeType [object PyCodeObject]: +- pass ++IF PY39B1: ++ ctypedef object FrameType + +-cdef extern from "frameobject.h": ++ cdef extern from "Python.h": ++ CodeType PyFrame_GetCode(FrameType frame) ++ void* PyFrame_GetBack(FrameType frame) ++ ++ELSE: ++ cdef extern from "frameobject.h": ++ ctypedef class types.FrameType [object PyFrameObject]: ++ # We don't have PyFrame_GetCode, need to use the pointer directly ++ cdef CodeType f_code + +- ctypedef class types.FrameType [object PyFrameObject]: +- cdef CodeType f_code +- # Accessing the f_lineno directly doesn't work. There is an accessor +- # function, PyFrame_GetLineNumber that is needed to turn the raw line number +- # into the executing line number. +- # cdef int f_lineno +- # We can't declare this in the object as an object, because it's +- # allowed to be NULL, and Cython can't handle that. +- # We have to go through the python machinery to get a +- # proper None instead, or use an inline function. +- cdef void* f_back ++ # We can't declare this in the object as an object, because it's ++ # allowed to be NULL, and Cython can't handle that. ++ # We have to go through the python machinery to get a ++ # proper None instead, or use a function. ++ cdef void* f_back + ++cdef extern from "frameobject.h": + int PyFrame_GetLineNumber(FrameType frame) + + @cython.nonecheck(False) + cdef inline FrameType get_f_back(FrameType frame): +- if frame.f_back != NULL: +- return frame.f_back ++ IF PY39B1: ++ f_back = PyFrame_GetBack(frame) ++ ELSE: ++ f_back = frame.f_back ++ if f_back != NULL: ++ return f_back + + cdef inline int get_f_lineno(FrameType frame): + return PyFrame_GetLineNumber(frame) + ++cdef inline CodeType get_f_code(FrameType frame): ++ IF PY39B1: ++ return PyFrame_GetCode(frame) ++ ELSE: ++ return frame.f_code ++ + cdef void _init() + + cdef class SpawnedLink: +diff --git a/src/gevent/greenlet.py b/src/gevent/greenlet.py +index bed12ed44..612a8fd3a 100644 +--- a/src/gevent/greenlet.py ++++ b/src/gevent/greenlet.py +@@ -58,6 +58,7 @@ + # Frame access + locals()['get_f_back'] = lambda frame: frame.f_back + locals()['get_f_lineno'] = lambda frame: frame.f_lineno ++locals()['get_f_code'] = lambda frame: frame.f_code + + if _PYPY: + import _continuation # pylint:disable=import-error +@@ -157,7 +158,7 @@ def _extract_stack(limit): + # Arguments are always passed to the constructor as Python objects, + # meaning we wind up boxing the f_lineno just to unbox it if we pass it. + # It's faster to simply assign once the object is created. +- older_Frame.f_code = frame.f_code ++ older_Frame.f_code = get_f_code(frame) + older_Frame.f_lineno = get_f_lineno(frame) # pylint:disable=undefined-variable + if newer_Frame is not None: + newer_Frame.f_back = older_Frame + +From 70ad874dc8d17da81b356d02b9772bee68898f1c Mon Sep 17 00:00:00 2001 +From: Petr Viktorin +Date: Wed, 8 Jun 2022 15:08:45 +0200 +Subject: [PATCH 3/3] Amend tests for Python 3.11: No more U file mode, no more + inspect.getargspec() + +--- + src/gevent/testing/testcase.py | 15 ++++++++++----- + src/gevent/tests/test__fileobject.py | 16 +++++++++++++--- + 2 files changed, 23 insertions(+), 8 deletions(-) + +diff --git a/src/gevent/testing/testcase.py b/src/gevent/testing/testcase.py +index cd5db8033..e3a9775fc 100644 +--- a/src/gevent/testing/testcase.py ++++ b/src/gevent/testing/testcase.py +@@ -383,6 +383,7 @@ def assert_error(self, kind=None, value=None, error=None, where_type=None): + return error + + def assertMonkeyPatchedFuncSignatures(self, mod_name, func_names=(), exclude=()): ++ # If inspect.getfullargspec is not available, + # We use inspect.getargspec because it's the only thing available + # in Python 2.7, but it is deprecated + # pylint:disable=deprecated-method,too-many-locals +@@ -409,9 +410,13 @@ def assertMonkeyPatchedFuncSignatures(self, mod_name, func_names=(), exclude=()) + + try: + with warnings.catch_warnings(): +- warnings.simplefilter("ignore") +- gevent_sig = inspect.getargspec(gevent_func) +- sig = inspect.getargspec(func) ++ try: ++ getfullargspec = inspect.getfullargspec ++ except AttributeError: ++ warnings.simplefilter("ignore") ++ getfullargspec = inspect.getargspec ++ gevent_sig = getfullargspec(gevent_func) ++ sig = getfullargspec(func) + except TypeError: + if funcs_given: + raise +@@ -420,10 +425,10 @@ def assertMonkeyPatchedFuncSignatures(self, mod_name, func_names=(), exclude=()) + # Python 3 can check a lot more than Python 2 can. + continue + self.assertEqual(sig.args, gevent_sig.args, func_name) +- # The next three might not actually matter? ++ # The next two might not actually matter? + self.assertEqual(sig.varargs, gevent_sig.varargs, func_name) +- self.assertEqual(sig.keywords, gevent_sig.keywords, func_name) + self.assertEqual(sig.defaults, gevent_sig.defaults, func_name) ++ # Should deal with others: https://docs.python.org/3/library/inspect.html#inspect.getfullargspec + + def assertEqualFlakyRaceCondition(self, a, b): + try: +diff --git a/src/gevent/tests/test__fileobject.py b/src/gevent/tests/test__fileobject.py +index afe8d7479..1f4e664a0 100644 +--- a/src/gevent/tests/test__fileobject.py ++++ b/src/gevent/tests/test__fileobject.py +@@ -200,6 +200,8 @@ def test_does_not_leak_on_exception(self): + + @skipUnlessWorksWithRegularFiles + def test_rbU_produces_bytes_readline(self): ++ if sys.version_info > (3, 11): ++ self.skipTest("U file mode was removed in 3.11") + # Including U in rb still produces bytes. + # Note that the universal newline behaviour is + # essentially ignored in explicit bytes mode. +@@ -213,6 +215,8 @@ def test_rbU_produces_bytes_readline(self): + + @skipUnlessWorksWithRegularFiles + def test_rU_produces_native(self): ++ if sys.version_info > (3, 11): ++ self.skipTest("U file mode was removed in 3.11") + gevent_data = self.__check_native_matches( + b'line1\nline2\r\nline3\rlastline\n\n', + 'rU', +@@ -362,9 +366,15 @@ def test_newlines(self): + + try: + with warnings.catch_warnings(): +- warnings.simplefilter('ignore', DeprecationWarning) +- # U is deprecated in Python 3, shows up on FileObjectThread +- fobj = self._makeOne(r, 'rU') ++ if sys.version_info > (3, 11): ++ # U is removed in Python 3.11 ++ mode = 'r' ++ self.skipTest("U file mode was removed in 3.11") ++ else: ++ # U is deprecated in Python 3, shows up on FileObjectThread ++ warnings.simplefilter('ignore', DeprecationWarning) ++ mode = 'rU' ++ fobj = self._makeOne(r, mode) + result = fobj.read() + fobj.close() + self.assertEqual('line1\nline2\nline3\nline4\nline5\nline6', result) diff --git a/python-gevent.spec b/python-gevent.spec index f6252ac..2f87660 100644 --- a/python-gevent.spec +++ b/python-gevent.spec @@ -3,20 +3,27 @@ %global optflags %(echo %{optflags} -I%{_includedir}/libev) Name: python-%{modname} -Version: 26.7.0 -Release: %autorelease +Version: 21.12.0 +Release: 5%{?dist} Summary: A coroutine-based Python networking library + License: MIT URL: http://www.gevent.org/ Source0: %{pypi_source %{modname} %{version} tar.gz} +# Support Python 3.11 +# Discussion in https://github.com/gevent/gevent/pull/1872.patch +Patch: https://github.com/gevent/gevent/compare/master...hroncok:py311b3.patch + BuildRequires: gcc BuildRequires: c-ares-devel BuildRequires: libev-devel BuildRequires: libuv-devel + %description gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of libevent event loop. + Features include: * convenient API around greenlets @@ -28,12 +35,21 @@ Features include: %package -n python3-%{modname} Summary: %{summary} +%{?python_provide:%python_provide python3-%{modname}} BuildRequires: python3-devel -BuildRequires: python3-greenlet-devel >= 3.2.2 +BuildRequires: python3-Cython +BuildRequires: python3-greenlet-devel >= 1.1.0 +BuildRequires: python3-setuptools +# For tests +BuildRequires: python3-dns +BuildRequires: python3-psutil BuildRequires: python3-zope-event +BuildRequires: python3-zope-interface + %description -n python3-%{modname} gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of libevent event loop. + Features include: * convenient API around greenlets @@ -43,48 +59,267 @@ Features include: * DNS requests done through libevent-dns * monkey patching utility to get pure Python modules to cooperate +Python 3 version. + %prep -%autosetup -n %{modname}-%{version} +%autosetup -p1 -n %{modname}-%{version} # Remove bundled libraries rm -r deps # Upstream intentionally includes C extension sources in the built package, # because... reasons (PyPy I think?) however we do not want that. Sources will # go into debuginfo as normal. sed -i -e 's/include_package_data=True/include_package_data=False/' setup.py -# No linters -sed -i -e '/coverage/d' -e '/objgraph/d' setup.py -# Force re-cythonizing the sources - missing with github tarballs -rm -f $(grep -rl '/\* Generated by Cython') -rm -f src/gevent/_generated_include/* - -# Test requires network, fails in mock/koji -mv src/gevent/tests/test__resolver_dnspython.py{,.needsnetwork} - -%generate_buildrequires -%pyproject_buildrequires -t +# Force re-cythonizing the sources +rm $(grep -rl '/\* Generated by Cython') +rm src/gevent/_generated_include/* %build export GEVENTSETUP_EMBED=0 -%pyproject_wheel +# Build Python 3 first to use Python 3 Cython +%py3_build %install export GEVENTSETUP_EMBED=0 -%pyproject_install +%py3_install +rm %{buildroot}%{python3_sitearch}/%{modname}/_*2.py +rm %{buildroot}%{python3_sitearch}/%{modname}/__pycache__/_*2.* find %{buildroot} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' -%pyproject_save_files -l %{modname} %check -%pyproject_check_import -t export PYTHONPATH=%{buildroot}%{python3_sitearch} -# test_resolution is failing - https://github.com/gevent/gevent/issues/2064 -%{py3_test_envvars} %{python3} -m gevent.tests --verbose || : -cd src/gevent/tests && GEVENT_FILE=thread %{python3} -mgevent.tests test__*subprocess*.py +%__python3 -m gevent.tests || : +cd src/gevent/tests && GEVENT_FILE=thread %__python3 -mgevent.tests test__*subprocess*.py -%files -n python3-%{modname} -f %{pyproject_files} +%files -n python3-%{modname} +%license LICENSE %doc README.rst +%{python3_sitearch}/%{modname}* %changelog -%autochangelog +* Fri Jan 20 2023 Fedora Release Engineering - 21.12.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 21.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jun 14 2022 Python Maint - 21.12.0-3 +- Rebuilt for Python 3.11 + +* Wed Jun 01 2022 Miro Hrončok - 21.12.0-2 +- Support Python 3.11 + +* Sun Mar 06 2022 Orion Poplawski - 21.12.0-1 +- Update to 21.12.0 + +* Fri Jan 21 2022 Fedora Release Engineering - 21.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 21.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 21.1.2-2 +- Rebuilt for Python 3.10 + +* Mon Apr 26 2021 Dan Callaghan - 21.1.2-1 +- new upstream bug fix release 21.1.2 + +* Wed Jan 27 2021 Fedora Release Engineering - 20.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 16 2020 Fabien Boucher - 20.9.0-1 +- new upstream release 20.9.0 + +* Mon Oct 05 2020 Orion Poplawski - 20.6.1-3 +- BR python3-setuptools + +* Wed Jul 29 2020 Fedora Release Engineering - 20.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 13 2020 Dan Callaghan - 20.6.1-1 +- new upstream release 20.6.1 + +* Sat Jun 06 2020 Orion Poplawski - 20.6.0-1 +- Update to 20.6.0 (bz#1840109) +- Resolve Python 3.9 issue (bz#1838696) +- Only remove Cython generated .c files +- Add BR on libuv-devel +- Use updated build variables +- Run tests, but do not fail on them for now + +* Sun May 24 2020 Miro Hrončok - 20.5.0-2 +- Rebuilt for Python 3.9 + +* Sun May 17 2020 Dan Callaghan - 20.5.0-1 +- new upstream release 20.5.0: + https://github.com/gevent/gevent/blob/20.5.0/CHANGES.rst + +* Thu Jan 30 2020 Fedora Release Engineering - 1.5-0.2.a3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 08 2020 Robert-André Mauchin - 1.5-0.1.a3 +- Update to 1.5a3 (#1705661) + +* Thu Oct 03 2019 Miro Hrončok - 1.3.6-7 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Sat Aug 17 2019 Miro Hrončok - 1.3.6-6 +- Rebuilt for Python 3.8 + +* Mon Aug 12 2019 Miro Hrončok - 1.3.6-5 +- Subpackage python2-gevent has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Fri Jul 26 2019 Fedora Release Engineering - 1.3.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 11 2019 Victor Stinner - 1.3.6-3 +- Add Python 3.8 support, backport upstream change to use CodeType.replace() if + available (rhbz#1716342) + +* Sat Feb 02 2019 Fedora Release Engineering - 1.3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Sep 17 2018 Dan Callaghan - 1.3.6-1 +- Upstream bug fix release 1.3.6: http://www.gevent.org/changelog.html + +* Sat Jul 14 2018 Fedora Release Engineering - 1.3.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 1.3.4-2 +- Rebuilt for Python 3.7 + +* Tue Jun 26 2018 Dan Callaghan - 1.3.4-1 +- Update to 1.3.4 (RHBZ#1593266) + +* Mon Jun 18 2018 Miro Hrončok - 1.3.3-2 +- Rebuilt for Python 3.7 + +* Wed Jun 13 2018 Dan Callaghan - 1.3.3-1 +- Update to 1.3.3 (RHBZ#1589102) + +* Mon Jun 04 2018 Dan Callaghan - 1.3.2-1 +- Update to 1.3.2 (RHBZ#1583647) + +* Tue May 29 2018 Dan Callaghan - 1.3.1-1 +- Update to 1.3.1 (RHBZ#1552352) + http://www.gevent.org/whatsnew_1_3.html + +* Fri Feb 09 2018 Fedora Release Engineering - 1.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 09 2017 Dan Callaghan - 1.2.2-1 +- Update to 1.2.2 (RHBZ#1389634) + +* Thu Aug 03 2017 Fedora Release Engineering - 1.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.1.2-2 +- Rebuild for Python 3.6 + +* Sun Jul 24 2016 Igor Gnatenko - 1.1.2-1 +- Update to 1.1.2 (RHBZ #1359455) + +* Tue Jul 19 2016 Fedora Release Engineering - 1.1.1-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue Apr 05 2016 Igor Gnatenko - 1.1.1-1 +- Update to 1.1.1 (RHBZ #1323855) + +* Tue Mar 15 2016 Dan Callaghan - 1.1.0-1 +- Update to 1.1.0 final release + +* Wed Feb 17 2016 Igor Gnatenko - 1.1-0.8.rc4 +- Update to 1.1rc4 (RHBZ #1309141) + +* Thu Feb 04 2016 Fedora Release Engineering - 1.1-0.7.rc3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Dan Callaghan - 1.1-0.6.rc3 +- Update to 1.1rc3 + +* Tue Nov 10 2015 Fedora Release Engineering - 1.1-0.5.b6 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Sat Oct 24 2015 Igor Gnatenko - 1.1-0.4.b6 +- Fix description in spec + +* Sun Oct 18 2015 Igor Gnatenko - 1.1-0.3.b6 +- Update to 1.1b6 (RHBZ #1272717) + +* Tue Oct 06 2015 Orion Poplawski - 1.1-0.2.b5 +- Drop use of unneeded %%{py3dir} + +* Mon Oct 05 2015 Igor Gnatenko - 1.1-0.1.b5 +- Update to 1.1b5 (RHBZ #1244452) +- Add python3 support +- Follow modern RPM packaging guidelines + +* Fri Jun 26 2015 Dan Callaghan - 1.0.2-2 +- removed version requirement for greenlet + +* Mon Jun 22 2015 Dan Callaghan - 1.0.2-1 +- bug fix release 1.0.2: + https://github.com/gevent/gevent/blob/v1.0.2/changelog.rst#release-102-may-23-2015 + +* Thu Jun 18 2015 Fedora Release Engineering - 1.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 15 2014 Orion Poplawski - 1.0.1-1 +- Update to 1.0.1 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Jan 22 2014 Orion Poplawski - 1.0-1 +- Update to 1.0 + +* Sun Aug 04 2013 Fedora Release Engineering - 0.13.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0.13.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Dec 27 2012 Silas Sewell - 0.13.8-1 +- Update to 0.13.8 + +* Sat Jul 21 2012 Fedora Release Engineering - 0.13.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 0.13.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Jul 24 2011 Silas Sewell - 0.13.6-1 +- Update to 0.13.6 + +* Wed Feb 16 2011 Silas Sewell - 0.13.3-1 +- Update to 0.13.3 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Oct 09 2010 Silas Sewell - 0.13.1-1 +- Update to 0.13.1 + +* Tue Jul 27 2010 David Malcolm - 0.13.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Wed Jul 14 2010 Silas Sewell - 0.13.0-1 +- Update to 0.13.0 + +* Fri Apr 23 2010 Silas Sewell - 0.12.2-2 +- Remove setuptools requirement + +* Wed Mar 17 2010 Silas Sewell - 0.12.2-1 +- Initial build diff --git a/sources b/sources index 8506c38..74da035 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gevent-26.7.0.tar.gz) = 70e7a21874c77990884e46a5e849ee4e065c4b918544bf8a11f665412d101a94c81bae713c7202ebbe81fd5439e57248b23f098aec7b16b6f05d99ce1a6ec4a8 +SHA512 (gevent-21.12.0.tar.gz) = 805ddb475281b6c4c46cdf5a714915b6612512745121e7b153f3d33f3460135efa4994e0ff1601402d4f7b80d285cbfdc0d5d93799fbeb8ddbf2a52888cd91ad