Hello community,
here is the log from the commit of package python-futures for openSUSE:Factory checked in at 2016-12-08 00:29:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-futures (Old)
and /work/SRC/openSUSE:Factory/.python-futures.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-futures"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-futures/python-futures.changes 2015-09-17 09:20:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-futures.new/python-futures.changes 2016-12-08 00:29:50.000000000 +0100
@@ -1,0 +2,9 @@
+Tue Nov 15 10:18:20 UTC 2016 - dmueller@suse.com
+
+- update to 3.0.5:
+ - Fixed OverflowError with ProcessPoolExecutor on Windows (regression introduced in 3.0.4)
+ - Fixed inability to forcibly terminate the process if there are pending workers
+ - Fixed AttributeErrors on exit on Python 2.x
+ - remove upstreamed fix-testsuite.patch
+
+-------------------------------------------------------------------
Old:
----
fix-testsuite.patch
futures-3.0.2.tar.gz
New:
----
futures-3.0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-futures.spec ++++++
--- /var/tmp/diff_new_pack.6Cf9Da/_old 2016-12-08 00:29:51.000000000 +0100
+++ /var/tmp/diff_new_pack.6Cf9Da/_new 2016-12-08 00:29:51.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-futures
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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
@@ -17,15 +17,13 @@
Name: python-futures
-Version: 3.0.2
+Version: 3.0.5
Release: 0
Summary: Backport of the concurrent.futures package from Python 3.2
License: BSD-2-Clause
Group: Development/Languages/Python
Url: http://code.google.com/p/pythonfutures
Source: http://pypi.python.org/packages/source/f/futures/futures-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE fix-testsuite.patch -- fix testsuite expectations
-Patch0: fix-testsuite.patch
BuildRequires: python-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
@@ -43,7 +41,6 @@
%prep
%setup -q -n futures-%{version}
-%patch0 -p1
%build
python setup.py build
++++++ futures-3.0.2.tar.gz -> futures-3.0.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/CHANGES new/futures-3.0.5/CHANGES
--- old/futures-3.0.2/CHANGES 2015-05-12 08:37:47.000000000 +0200
+++ new/futures-3.0.5/CHANGES 2016-02-14 22:40:14.000000000 +0100
@@ -1,3 +1,21 @@
+3.0.5
+=====
+
+- Fixed OverflowError with ProcessPoolExecutor on Windows (regression introduced in 3.0.4)
+
+
+3.0.4
+=====
+
+- Fixed inability to forcibly terminate the process if there are pending workers
+
+
+3.0.3
+=====
+
+- Fixed AttributeErrors on exit on Python 2.x
+
+
3.0.2
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/PKG-INFO new/futures-3.0.5/PKG-INFO
--- old/futures-3.0.2/PKG-INFO 2015-05-12 08:38:34.000000000 +0200
+++ new/futures-3.0.5/PKG-INFO 2016-02-14 22:51:15.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: futures
-Version: 3.0.2
+Version: 3.0.5
Summary: Backport of the concurrent.futures package from Python 3.2
Home-page: https://github.com/agronholm/pythonfutures
Author: Alex Gronholm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/concurrent/futures/_base.py new/futures-3.0.5/concurrent/futures/_base.py
--- old/futures-3.0.2/concurrent/futures/_base.py 2015-05-03 08:27:36.000000000 +0200
+++ new/futures-3.0.5/concurrent/futures/_base.py 2016-01-18 01:35:19.000000000 +0100
@@ -227,7 +227,8 @@
finally:
for f in fs:
- f._waiters.remove(waiter)
+ with f._condition:
+ f._waiters.remove(waiter)
DoneAndNotDoneFutures = collections.namedtuple(
'DoneAndNotDoneFutures', 'done not_done')
@@ -274,7 +275,8 @@
waiter.event.wait(timeout)
for f in fs:
- f._waiters.remove(waiter)
+ with f._condition:
+ f._waiters.remove(waiter)
done.update(waiter.finished_futures)
return DoneAndNotDoneFutures(done, set(fs) - done)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/concurrent/futures/process.py new/futures-3.0.5/concurrent/futures/process.py
--- old/futures-3.0.2/concurrent/futures/process.py 2015-05-03 07:36:12.000000000 +0200
+++ new/futures-3.0.5/concurrent/futures/process.py 2016-02-14 22:40:41.000000000 +0100
@@ -73,11 +73,11 @@
def _python_exit():
global _shutdown
_shutdown = True
- items = list(_threads_queues.items())
+ items = list(_threads_queues.items()) if _threads_queues else ()
for t, q in items:
q.put(None)
for t, q in items:
- t.join()
+ t.join(sys.maxint)
# Controls how many more calls than processes will be queued in the call queue.
# A smaller number will mean that processes spend more time idle waiting for
@@ -347,7 +347,7 @@
# Wake up queue management thread
self._result_queue.put(None)
if wait:
- self._queue_management_thread.join()
+ self._queue_management_thread.join(sys.maxint)
# To reduce the risk of openning too many files, remove references to
# objects that use file descriptors.
self._queue_management_thread = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/concurrent/futures/thread.py new/futures-3.0.5/concurrent/futures/thread.py
--- old/futures-3.0.2/concurrent/futures/thread.py 2015-05-03 07:36:12.000000000 +0200
+++ new/futures-3.0.5/concurrent/futures/thread.py 2016-01-18 01:38:32.000000000 +0100
@@ -32,11 +32,11 @@
def _python_exit():
global _shutdown
_shutdown = True
- items = list(_threads_queues.items())
+ items = list(_threads_queues.items()) if _threads_queues else ()
for t, q in items:
q.put(None)
for t, q in items:
- t.join()
+ t.join(sys.maxint)
atexit.register(_python_exit)
@@ -130,5 +130,5 @@
self._work_queue.put(None)
if wait:
for t in self._threads:
- t.join()
+ t.join(sys.maxint)
shutdown.__doc__ = _base.Executor.shutdown.__doc__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/docs/index.rst new/futures-3.0.5/docs/index.rst
--- old/futures-3.0.2/docs/index.rst 2015-05-03 07:36:12.000000000 +0200
+++ new/futures-3.0.5/docs/index.rst 2016-01-18 01:35:19.000000000 +0100
@@ -112,7 +112,7 @@
.. class:: ThreadPoolExecutor(max_workers)
- Executes calls asynchronously using at pool of at most *max_workers* threads.
+ Executes calls asynchronously using a pool of at most *max_workers* threads.
.. _threadpoolexecutor-example:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/futures.egg-info/PKG-INFO new/futures-3.0.5/futures.egg-info/PKG-INFO
--- old/futures-3.0.2/futures.egg-info/PKG-INFO 2015-05-12 08:38:34.000000000 +0200
+++ new/futures-3.0.5/futures.egg-info/PKG-INFO 2016-02-14 22:51:15.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: futures
-Version: 3.0.2
+Version: 3.0.5
Summary: Backport of the concurrent.futures package from Python 3.2
Home-page: https://github.com/agronholm/pythonfutures
Author: Alex Gronholm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/futures.egg-info/pbr.json new/futures-3.0.5/futures.egg-info/pbr.json
--- old/futures-3.0.2/futures.egg-info/pbr.json 2015-05-03 08:29:11.000000000 +0200
+++ new/futures-3.0.5/futures.egg-info/pbr.json 2015-06-12 23:44:51.000000000 +0200
@@ -1 +1 @@
-{"is_release": false, "git_version": "fdbc9c3"}
\ No newline at end of file
+{"is_release": false, "git_version": "6532a74"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/setup.py new/futures-3.0.5/setup.py
--- old/futures-3.0.2/setup.py 2015-05-12 08:37:47.000000000 +0200
+++ new/futures-3.0.5/setup.py 2016-02-14 22:40:23.000000000 +0100
@@ -1,4 +1,11 @@
#!/usr/bin/env python
+from warnings import warn
+import sys
+
+if sys.version_info[0] > 2:
+ warn('This backport is meant only for Python 2.\n'
+ 'Python 3 users do not need it, as the concurrent.futures '
+ 'package is available in the standard library.')
extras = {}
try:
@@ -8,7 +15,7 @@
from distutils.core import setup
setup(name='futures',
- version='3.0.2',
+ version='3.0.5',
description='Backport of the concurrent.futures package from Python 3.2',
author='Brian Quinlan',
author_email='brian@sweetapp.com',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-3.0.2/test_futures.py new/futures-3.0.5/test_futures.py
--- old/futures-3.0.2/test_futures.py 2015-05-03 07:36:12.000000000 +0200
+++ new/futures-3.0.5/test_futures.py 2015-06-12 23:48:50.000000000 +0200
@@ -7,6 +7,7 @@
import logging
import re
import time
+import gc
from StringIO import StringIO
from test import test_support
@@ -222,6 +223,7 @@
executor.map(abs, range(-5, 5))
threads = executor._threads
del executor
+ gc.collect()
for t in threads:
t.join()
@@ -257,6 +259,7 @@
queue_management_thread = executor._queue_management_thread
processes = executor._processes
del executor
+ gc.collect()
queue_management_thread.join()
for p in processes:
@@ -575,19 +578,19 @@
def test_repr(self):
self.assertRegexpMatches(repr(PENDING_FUTURE),
- '