Accepting request 489462 from home:TheBlackCat:branches:devel:languages:python
- Update to version 1.2.1 - Implement single-spec version OBS-URL: https://build.opensuse.org/request/show/489462 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=26
This commit is contained in:
parent
30005d87dc
commit
d7aca0453a
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb15cf73d69a2eeefed330858f09634e2c50bf46da9f9e7635730fcfb872c02c
|
||||
size 2007938
|
3
gevent-1.2.1.tar.gz
Normal file
3
gevent-1.2.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3de300d0e32c31311e426e4d5d73b36777ed99c2bac3f8fbad939eeb2c29fa7c
|
||||
size 2808619
|
1
python-gevent-rpmlintrc
Normal file
1
python-gevent-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter("devel-file-in-non-devel-package")
|
@ -1,3 +1,219 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 19 20:55:27 UTC 2017 - toddrme2178@gmail.com
|
||||
|
||||
- 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
|
||||
:func:`gevent.subprocess.run` function in a cooperative way even
|
||||
when the system is not monkey patched, on all supported versions of
|
||||
Python. (It was added officially in Python 3.5.)
|
||||
* Popen objects save their *args* attribute even on Python 2.
|
||||
* :exc:`gevent.subprocess.TimeoutExpired` is defined even on Python 2,
|
||||
where it is a subclass of the :exc:`gevent.timeout.Timeout`
|
||||
exception; all instances where a ``Timeout`` exception would
|
||||
previously be thrown under Python 2 will now throw a
|
||||
``TimeoutExpired`` exception.
|
||||
* :func:`gevent.subprocess.call` (and ``check_call``) accepts the
|
||||
*timeout* keyword argument on Python 2. This is standard on Python
|
||||
3, but a gevent extension on Python 2.
|
||||
* :func:`gevent.subprocess.check_output` accepts the *timeout* and
|
||||
*input* arguments on Python 2. This is standard on Python 3, but a
|
||||
gevent extension on Python 2.
|
||||
- Implement single-spec version
|
||||
- Add rpmlintrc to deal with source files used by cffi.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 13 14:46:50 UTC 2016 - dmueller@suse.com
|
||||
|
||||
|
@ -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 @@ gevent is inspired by eventlet but features more consistent API, simpler
|
||||
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
|
||||
%files %{python_files}
|
||||
%defattr(-,root,root,-)
|
||||
%doc AUTHORS changelog.rst LICENSE* README.rst TODO examples
|
||||
#%%doc doc/_build/html
|
||||
%{python_sitearch}/*
|
||||
%doc AUTHORS LICENSE* README.rst TODO
|
||||
%{python_sitearch}/gevent-%{version}-py*.egg-info
|
||||
%{python_sitearch}/gevent/
|
||||
|
||||
%files -n python-gevent-doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc examples/
|
||||
%doc doc/_build/html
|
||||
|
||||
%changelog
|
||||
|
Loading…
x
Reference in New Issue
Block a user