Hello community, here is the log from the commit of package python-gevent for openSUSE:Factory checked in at 2017-04-28 15:07:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gevent (Old) and /work/SRC/openSUSE:Factory/.python-gevent.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gevent" Fri Apr 28 15:07:48 2017 rev:17 rq:489463 version:1.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gevent/python-gevent.changes 2017-01-25 23:23:25.421978538 +0100 +++ /work/SRC/openSUSE:Factory/.python-gevent.new/python-gevent.changes 2017-04-28 15:07:51.241457584 +0200 @@ -1,0 +2,216 @@ +Wed Apr 19 20:55:27 UTC 2017 - [email protected] + +- Update to version 1.2.1 + * CI services now test on 3.6.0. + * Windows: Provide ``socket.socketpair`` for all Python 3 versions. + This was added to Python 3.5, but tests were only added in 3.6. + (For versions older than 3.4 this is a gevent extension.) Previously + this was not supported on any Python 3 version. + * Windows: List ``subprocess.STARTUPINFO`` in ``subprocess.__all__`` + for 3.6 compatibility. + * The ``_DummyThread`` objects created by calling + :func:`threading.current_thread` from inside a raw + :class:`greenlet.greenlet` in a system with monkey-patched + ``threading`` now clean up after themselves when the + greenlet dies (:class:`gevent.Greenlet`-based ``_DummyThreads`` have + always cleaned up). This requires the use of a :class:`weakref.ref` + (and may not be timely on PyPy). + Reported in :issue:`918` by frozenoctobeer. + * Build OS X wheels with ``-D_DARWIN_FEATURE_CLOCK_GETTIME=0`` for + compatibility with OS X releases before 10.12 Sierra. Reported by + Ned Batchelder in :issue:`916`. +- Update to version 1.2.0 + * The c-ares DNS resolver ignores bad flags to getnameinfo, like the + system resolver does. Discovered when cleaning up the DNS resolver + tests to produce more reliable results. See :issue:`774`. +- Update to version 1.2a2 + * Update libev to version 4.23. + * Allow the ``MAKE`` environment variable to specify the make command + on non-Windows systems for ease of development on BSD systems where + ``make`` is BSD make and ``gmake`` is GNU make (gevent requires GNU + make). See :issue:`888`. + * Let :class:`gevent.server.StreamServer` accept an ``SSLContext`` on + Python versions that support it. Added in :pr:`904` by Arcadiy Ivanov. +- Update to version 1.2a1 + + Incompatible Changes + * Support for Python 2.6 has been removed. See :pr:`766`. + * Remove module ``gevent.coros`` which was replaced by ``gevent.lock`` + and has been deprecated since 1.0b2. + * The internal implementation modules ``gevent.corecext`` and + ``gevent.corecffi`` have been moved. Please import from + ``gevent.core`` instead; this has always been the only documented place to + import from. + + Libraries and Installation + * Update libev to version 4.22 (was 4.20). + * Update tblib to 1.3.0. + * Update Cython to 0.25 (was 0.23.5). + * Update c-ares to version 1.12.0 (was 1.10.0) (`release notes <https://c-ares.haxx.se/changelog.html>`_). + * For the benefit of downstream package maintainers, gevent is now + tested with c-ares and libev linked dynamically and not embedded + (i.e., using the system libraries). However, only the versions + shipped with gevent are tested and known to work. + * The repository directory layout has been changed to make it easier + to include third-party dependencies. Likewise, the setup.py script + has been split to make it easier to build third-party dependencies. + * PyPy/CFFI: The corecffi native extension is now only built at + installation time. Previously, if it wasn't available, a build was + attempted at every import. This could lead to scattered "gevent" + directories and undependable results. + * setuptools is now required at build time on all platforms. + Previously it was only required for Windows and PyPy. + * POSIX: Don't hardcode ``/bin/sh`` into the configuration command + line, instead relying on ``sh`` being on the ``PATH``, as + recommended by `the standard <http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html>`_. + Fixed in :pr:`809` by Fredrix Fornwall. + + Security + * :mod:`gevent.pywsgi` now checks that the values passed to + ``start_response`` do not contain a carriage return or newline in + order to prevent HTTP response splitting (header injection), raising + a :exc:`ValueError` if they do. See :issue:`775`. + * Incoming headers containing an underscore are no longer placed in + the WSGI environ. See :issue:`819`. + * Errors logged by :class:`~gevent.pywsgi.WSGIHandler` no + longer print the entire WSGI environment by default. This avoids + possible information disclosure vulnerabilities. Applications can + also opt-in to a higher security level for the WSGI environment if they + choose and their frameworks support it. Originally reported + in :pr:`779` by sean-peters-au and changed in :pr:`781`. + + Platforms + * As mentioned above, Python 2.6 is no longer supported. + * Python 3.6 is now tested on POSIX platforms. This includes a few + notable changes: + * SSLContext.wrap_socket accepts the ``session`` parameter, though + this parameter isn't useful prior to 3.6. + * SSLSocket.recv(0) or read(0) returns an empty byte string. This is + a fix for `Python bug #23804 <http://bugs.python.org/issue23804>`_ + which has also been merged into Python 2.7 and Python 3.5. + * PyPy3 5.5.0 *alpha* (supporting Python 3.3.5) is now tested and passes the + test suite. Thanks to btegs for :issue:`866`, and Fabio Utzig for :pr:`826`. + Note that PyPy3 is not optimized for performance either by the PyPy + developers or under gevent, so it may be significantly slower than PyPy2. + + Stdlib Compatibility + * The modules :mod:`gevent.os`, :mod:`gevent.signal` and + :mod:`gevent.select` export all the attributes from their + corresponding standard library counterpart. + * Python 2: ``reload(site)`` no longer fails with a ``TypeError`` if + gevent has been imported. Reported in :issue:`805` by Jake Hilton. + * Python 2: ``sendall`` on a non-blocking socket could spuriously fail + with a timeout. + + select/poll + * If :func:`gevent.select.select` is given a negative *timeout* + argument, raise an exception like the standard library does. + * If :func:`gevent.select.select` is given closed or invalid + file descriptors in any of its lists, raise the appropriate + ``EBADF`` exception like the standard library does. Previously, + libev would tend to return the descriptor as ready. In the worst + case, this adds an extra system call, but may also reduce latency if + descriptors are ready at the time of entry. + * :class:`selectors.SelectSelector` is properly monkey-patched + regardless of the order of imports. Reported in :issue:`835` by + Przemysław Węgrzyn. + * :meth:`gevent.select.poll.unregister` raises an exception if *fd* is not + registered, like the standard library. + * :meth:`gevent.select.poll.poll` returns an event with + ``POLLNVAL`` for registered fds that are invalid. Previously it + would tend to report both read and write events. + + File objects + * ``FileObjectPosix`` exposes the ``read1`` method when in read mode, + and generally only exposes methods appropriate to the mode it is in. + * ``FileObjectPosix`` supports a *bufsize* of 0 in binary write modes. + Reported in :issue:`840` by Mike Lang. + * Python 3: :meth:`gevent.socket.connect_ex` was letting + ``BlockingIOError`` (and possibly others) get raised instead of + returning the errno due to the refactoring of the exception + hierarchy in Python 3.3. Now the errno is returned. Reported in + :issue:`841` by Dana Powers. + + Other Changes + * :class:`~.Group` and :class:`~.Pool` now return whether + :meth:`~.Group.join` returned with an empty group. Suggested by Filippo Sironi in + :pr:`503`. + * Unhandled exception reports that kill a greenlet now include a + timestamp. See :issue:`137`. + * :class:`~.PriorityQueue` now ensures that an initial items list is a + valid heap. Fixed in :pr:`793` by X.C.Dong. + * :class:`gevent.hub.signal` (aka :func:`gevent.signal`) now verifies + that its `handler` argument is callable, raising a :exc:`TypeError` + if it isn't. Reported in :issue:`818` by Peter Renström. + * If ``sys.stderr`` has been monkey-patched (not recommended), + exceptions that the hub reports aren't lost and can still be caught. + Reported in :issue:`825` by Jelle Smet. + * The :func:`gevent.os.waitpid` function is cooperative in more + circumstances. Reported in :issue:`878` by Heungsub Lee. + * The various ``FileObject`` implementations are more consistent with + each other. **Note:** Writing to the *io* property of a FileObject should be + considered deprecated. + * Timeout exceptions (and other asynchronous exceptions) could cause + the BackdoorServer to fail to properly manage the + stdout/stderr/stdin values. Reported with a patch in :pr:`874` by + stefanmh. + * The BackDoorServer now tracks spawned greenlets (connections) and + kills them in its ``stop`` method. + + Servers + * Default to AF_INET6 when binding to all addresses (e.g., + ""). This supports both IPv4 and IPv6 connections (except on + Windows). Original change in :pr:`495` by Felix Kaiser. + * pywsgi/performance: Chunks of data the application returns are no longer copied + before being sent to the socket when the transfer-encoding is + chunked, potentially reducing overhead for large responses. + + Threads + * Add :class:`gevent.threadpool.ThreadPoolExecutor` (a + :class:`concurrent.futures.ThreadPoolExecutor` variant that always + uses native threads even when the system has been monkey-patched) + on platforms that have ``concurrent.futures`` + available (Python 3 and Python 2 with the ``futures`` backport + installed). This is helpful for, e.g., grpc. Reported in + :issue:`786` by Markus Padourek. + * Native threads created before monkey-patching threading can now be + joined. Previously on Python < 3.4, doing so would raise a + ``LoopExit`` error. Reported in :issue:`747` by Sergey Vasilyev. + + SSL + * On Python 2.7.9 and above (more generally, when the SSL backport is + present in Python 2), :func:`gevent.ssl.get_server_certificate` + would raise a :exc:`ValueError` if the system wasn't monkey-patched. + Reported in :issue:`801` by Gleb Dubovik. + * On Python 2.7.9 and Python 3, closing an SSL socket in one greenlet + while it's being read from or written to in a different greenlet is + less likely to raise a :exc:`TypeError` instead of a + :exc:`ValueError`. Reported in :issue:`800` by Kevin Chen. + + subprocess module + * Setting SIGCHLD to SIG_IGN or SIG_DFL after :mod:`gevent.subprocess` + had been used previously could not be reversed, causing + ``Popen.wait`` and other calls to hang. Now, if SIGCHLD has been + ignored, the next time :mod:`gevent.subprocess` is used this will be + detected and corrected automatically. (This potentially leads to + issues with :func:`os.popen` on Python 2, but the signal can always + be reset again. Mixing the low-level process handling calls, + low-level signal management and high-level use of + :mod:`gevent.subprocess` is tricky.) Reported in :issue:`857` by + Chris Utz. + * ``Popen.kill`` and ``send_signal`` no longer attempt to send signals + to processes that are known to be exited. + + Several backwards compatible updates to the subprocess module have + been backported from Python 3 to Python 2, making + :mod:`gevent.subprocess` smaller, easier to maintain and in some cases + safer. + * Popen objects can be used as context managers even on Python 2. The + high-level API functions (``call``, etc) use this for added safety. + * The :mod:`gevent.subprocess` module now provides the ++++ 19 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/python-gevent/python-gevent.changes ++++ and /work/SRC/openSUSE:Factory/.python-gevent.new/python-gevent.changes Old: ---- gevent-1.1.2.tar.gz New: ---- gevent-1.2.1.tar.gz python-gevent-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gevent.spec ++++++ --- /var/tmp/diff_new_pack.wgJlTh/_old 2017-04-28 15:07:52.333303481 +0200 +++ /var/tmp/diff_new_pack.wgJlTh/_new 2017-04-28 15:07:52.337302916 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-gevent # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,25 +16,35 @@ # -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%endif +# Tests require network connection +%bcond_with tests + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-gevent -Version: 1.1.2 +Version: 1.2.1 Release: 0 Summary: Python network library that uses greenlet and libevent License: MIT Group: Development/Languages/Python Url: http://www.gevent.org/ -Source: https://pypi.io/packages/source/g/gevent/gevent-%{version}.tar.gz -BuildRequires: libcares-devel -BuildRequires: libev-devel -#BuildRequires: python-Sphinx -BuildRequires: python-devel -BuildRequires: python-greenlet -BuildRequires: python-nose +Source: https://files.pythonhosted.org/packages/source/g/gevent/gevent-%{version}.tar.gz +Source100: %{name}-rpmlintrc +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module cffi} +BuildRequires: %{python_module greenlet} +# Documentation requirements +BuildRequires: python3-Sphinx +%if %{with tests} +BuildRequires: %{python_module nose} +%endif +Requires: python-cffi Requires: python-greenlet +Recommends: python-psutil BuildRoot: %{_tmppath}/%{name}-%{version}-build +%python_subpackages %description Gevent is a Python networking library that uses greenlet to provide synchronous @@ -53,25 +63,42 @@ implementation and better performance. Read why others use gevent and check out the list of the open source projects based on gevent. +%package -n python-gevent-doc +Summary: Documentation for %{name} +Group: Documentation/Other +Provides: %{python_module gevent-doc = %{version}} + +%description -n python-gevent-doc +Documentation and examples for %{name}. + %prep %setup -q -n gevent-%{version} -# Remove bundled libraries -rm -rf c-ares libev %build -CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py build -#cd doc && make html && rm _build/html/.buildinfo # Build HTML documentation +%python_build +cd doc && make html && rm _build/html/.buildinfo # Build HTML documentation %install -python setup.py install --prefix=%{_prefix} --root=%{buildroot} +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} +%if %{with tests} %check -nosetests +pushd src/greentest +export GEVENT_RESOLVER=thread +%python_exec testrunner.py --config known_failures.py +popd +%endif + +%files %{python_files} +%defattr(-,root,root,-) +%doc AUTHORS LICENSE* README.rst TODO +%{python_sitearch}/gevent-%{version}-py*.egg-info +%{python_sitearch}/gevent/ -%files +%files -n python-gevent-doc %defattr(-,root,root,-) -%doc AUTHORS changelog.rst LICENSE* README.rst TODO examples -#%%doc doc/_build/html -%{python_sitearch}/* +%doc examples/ +%doc doc/_build/html %changelog ++++++ gevent-1.1.2.tar.gz -> gevent-1.2.1.tar.gz ++++++ ++++ 667196 lines of diff (skipped) ++++++ python-gevent-rpmlintrc ++++++ addFilter("devel-file-in-non-devel-package")
