# # spec file for package python-execnet # # Copyright (c) 2019 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 # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-execnet Version: 1.7.1 Release: 1.2 Summary: Rapid multi-Python deployment License: MIT Group: Development/Libraries/Python URL: https://github.com/pytest-dev/execnet Source0: https://files.pythonhosted.org/packages/source/e/execnet/execnet-%{version}.tar.gz BuildRequires: %{python_module apipkg} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: procps BuildRequires: python-rpm-macros Requires: python-apipkg BuildArch: noarch %python_subpackages %description execnet provides a share-nothing model with channel-send/receive communication for distributing execution across many Python interpreters across version, platform and network barriers. It has a minimal and fast API targetting the following uses: * distribute tasks to (many) local or remote CPUs * write and deploy hybrid multi-process applications * write scripts to administer multiple environments %prep %setup -q -n execnet-%{version} sed -i "1d" execnet/script/shell.py execnet/script/socketserver.py %build %python_build # fix non-executable-script error sed -i "1d" execnet/script/shell.py execnet/script/socketserver.py %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check %pytest -r s -k"not test_gateway" testing %files %{python_files} %license LICENSE %doc CHANGELOG.rst README.rst %{python_sitelib}/execnet %{python_sitelib}/execnet-%{version}-py%{python_version}.egg-info %changelog * Fri Aug 30 2019 Tomáš Chvátal - Update to 1.7.1: * #108: Revert linecache optimization introduced in 1.7.0 which broke remote execution. * Mon Aug 12 2019 Tomáš Chvátal - Update to 1.7: * Fix flaky hangs * Wed Jul 24 2019 Tomáš Chvátal - Update to 1.6.1: * Internal change to avoid using deprecated funcargs name in pytest 5+. - Obsoletes pytest4.patch * Fri Jul 19 2019 Tomáš Chvátal - Add patch to play with new pytest rather than restricting: * pytest4.patch * Thu Jul 18 2019 Ondřej Súkup - use pytest4 to run testsuite, pytest-5 for testsuite isn't supported * Mon Apr 1 2019 Tomáš Chvátal - Update to 1.6.0: * ``execnet`` no longer supports Python 2.6 and 3.3 (#85). Users of those Python versions using a recent enough ``pip`` should not be affected, as ``pip`` will only install ``1.5.0`` for them. * Update test suite to support ``pytest>4``. - Remove pytest4.patch merged upstream - Remove fix_apipkg.patch merged upstream * Tue Feb 12 2019 Tomáš Chvátal - Add patch to fix build with pytest 4 and newer: * pytest4.patch * Wed Aug 8 2018 mimi.vx@gmail.com - add fix_apipkg.patch -- fixes tests with apipkg > 1.4.0 * Sun Jul 15 2018 mimi.vx@gmail.com - drop -doc subpackage - causes circular dependency with python-requests -> python-hypothesis -> python-Babel * Sat Nov 11 2017 arun@gmx.de - specfile * CHANGELOG -> CHANGELOG.rst * README.txt -> README.rst - update to version 1.5.0: * support shell escaping in python pathnames of popen. Eugene Ciurana discovered that execnet breaks if you use pathnames with spaces in a "python=" part of a spec. We now use shlex.split to split the string. There is a potential for regressions if you used quote or escape sequences as part of your python command. * Only insert importdir into sys.path if it is not already in the path. This prevents a bug when using enum34 with python 3.6 and pytest-xdist. The issue is that enum34 installs an 'enum' module in site-packages which is normally shadowed by the stdlib version of enum, however in gateway_bootstrap.py site-packages is added at the front the the search path. This means on the workers enum34 is hit for import enum which in turn causes import re to fail (as it makes use of the new enum features in 3.6). * Fri Apr 21 2017 aloisio@gmx.com - Converted to single-spec - Enabled tests * Wed Feb 24 2016 osynge@suse.com - Added depenedency on python-apipkg * Mon Feb 22 2016 osynge@suse.com - Update to version 1.4.1: * fix issue33 -- index.txt to correctly mention MIT instead of GPL. * fix issue35 -- adapt some doctests, fix some channel tests for py3. * use subprocess32 when available for python < 3. * try to be a bit more careful when interpreter is shutting down to avoid random exceptions, thanks Alfredo Deza. * ignore errors on orphan file removal when rsyncing * fix issue34 -- limit use of import based bootstrap * de-vendor apipkg and use the pypi dependency instead (this also fixes the bpython interaction issues) * Fix issue38: provide ability to connect to Vagrant VMs easily using :code:`vagrant_ssh=defaut` or :code:`vagrant_ssh=machinename` this feature is experimental and will be refined in future releases. Thanks Christian Theune for the discussion and the initial pull request. * add support for serializing the "complex" type. Thanks Sebastian Koslowski. * fix a regression of the Serializer created by the implied opcode ordering which resulted in a incompatible opcode mapping * Fri Dec 12 2014 tbechtold@suse.com - Update to version 1.2: * fix issue22 -- during interpreter shutdown don't throw an exception when we can't send a termination sequence anymore as we are about to die anyway. * fix issue24 -- allow concurrent creation of gateways by guarding automatic id creation by a look. Thanks tlecomte. * majorly refactor internal thread and IO handling. execnet can now operate on different thread models, defaults to "thread" but allows for eventlet and gevent if it is installed. * gateway.remote_exec() will now execute in multiple threads on the other side by default. The previous neccessity of running "gateway.remote_init_threads()" to allow for such concurrency is gone. The latter method is now a no-op and will be removed in future versions of execnet. * fix issue20: prevent AttributError at interpreter shutdown by not trying to send close/last_message messages if the world around is half destroyed. * fix issue21: allow to create local gateways with sudo aka makegateway("popen//python=sudo python"). Thanks Alfredo Deza for the PR. * streamline gateway termination and simplify proxy implementation. add more internal tracing. * if execution hangs in computation, we now try to send a SIGINT to ourselves on Unix platforms instead of just calling thread.interrupt_main() * change license from GPL to MIT * introduce execnet.dump/load variants of dumps/loads serializing/unserializing mechanism. * improve channel.receive() communication latency on python2 by changing the default timeout of the underlying Queue.get to a regular None instead of the previous default -1 which caused an internal positive timeout value (a hack probably introduced to allow CTRL-C to pass through for