diff --git a/disable_test_on_big_endian.patch b/disable_test_on_big_endian.patch deleted file mode 100644 index f997c07..0000000 --- a/disable_test_on_big_endian.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Michel Normand -Subject: disable test on big endian -Date: Fri, 21 Aug 2020 10:35:13 +0200 - -disable test on big endian - -because still open -https://github.com/joblib/joblib/issues/279 - -Signed-off-by: Michel Normand ---- - joblib/test/test_numpy_pickle.py | 7 +++++++ - 1 file changed, 7 insertions(+) - -Index: joblib-0.16.0/joblib/test/test_numpy_pickle.py -=================================================================== ---- joblib-0.16.0.orig/joblib/test/test_numpy_pickle.py -+++ joblib-0.16.0/joblib/test/test_numpy_pickle.py -@@ -2,6 +2,7 @@ - - import copy - import os -+import sys - import random - import re - import io -@@ -426,6 +427,12 @@ def _check_pickle(filename, expected_lis - - @with_numpy - def test_joblib_pickle_across_python_versions(): -+ # temporarily disable this test on non little-endian machines -+ # because next endianness lines not sufficient. -+ # https://github.com/joblib/joblib/issues/279 still open. -+ if sys.byteorder != 'little': -+ raise SkipTest('Skipping this test on non little-endian machines') -+ - # We need to be specific about dtypes in particular endianness - # because the pickles can be generated on one architecture and - # the tests run on another one. See diff --git a/joblib-0.16.0.tar.gz b/joblib-0.16.0.tar.gz deleted file mode 100644 index 9319121..0000000 --- a/joblib-0.16.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6 -size 349661 diff --git a/joblib-1.0.1.tar.gz b/joblib-1.0.1.tar.gz new file mode 100644 index 0000000..224b271 --- /dev/null +++ b/joblib-1.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7 +size 316131 diff --git a/joblib-disable-unrelialble-tests.patch b/joblib-disable-unrelialble-tests.patch deleted file mode 100644 index 58c65d9..0000000 --- a/joblib-disable-unrelialble-tests.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- joblib-0.16.0/joblib/test/test_memmapping.py.orig 2020-09-08 08:01:19.285304370 +0000 -+++ joblib-0.16.0/joblib/test/test_memmapping.py 2020-09-08 08:05:25.318014706 +0000 -@@ -512,6 +512,7 @@ def test_memmapping_temp_folder_thread_s - @with_numpy - @with_multiprocessing - def test_multithreaded_parallel_termination_resource_tracker_silent(): -+ raise SkipTest('Skipping this test as it fails often in OBS') - # test that concurrent termination attempts of a same executor does not - # emit any spurious error from the resource_tracker. We test various - # situations making 0, 1 or both parallel call sending a task that will -@@ -681,6 +682,8 @@ def test_memmap_returned_as_regular_arra - @with_multiprocessing - @parametrize("backend", ["multiprocessing", param("loky", marks=xfail)]) - def test_resource_tracker_silent_when_reference_cycles(backend): -+ if backend == 'multiprocessing': -+ raise SkipTest('Skipping this test as it fails often in OBS') - # There is a variety of reasons that can make joblib with loky backend - # output noisy warnings when a reference cycle is preventing a memmap from - # being garbage collected. Especially, joblib's main process finalizer -@@ -778,6 +781,8 @@ def test_memmapping_pool_for_large_array - @with_multiprocessing - @parametrize("backend", ["multiprocessing", "loky"]) - def test_child_raises_parent_exits_cleanly(backend): -+ if backend == 'multiprocessing': -+ raise SkipTest('Skipping this test as it fails often in OBS') - # When a task executed by a child process raises an error, the parent - # process's backend is notified, and calls abort_everything. - # In loky, abort_everything itself calls shutdown(kill_workers=True) which diff --git a/python-joblib.changes b/python-joblib.changes index 9ac950c..1879ee9 100644 --- a/python-joblib.changes +++ b/python-joblib.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Mon Feb 15 23:26:21 UTC 2021 - Ben Greiner + +- Update to 1.0.1 + * dask: avoid redundant scattering of large arguments to make a + more efficient use of the network resources and avoid crashing + dask with "OSError: [Errno 55] No buffer space available" or + "ConnectionResetError: [Errno 104] connection reset by + peer". +- Changees in 1.0.0 + * Make joblib.hash and joblib.Memory caching system compatible + with numpy >= 1.20.0. Also make it explicit in the + documentation that users should now expect to have their joblib. + Memory cache invalidated when either joblib or a third party + library involved in the cached values definition is upgraded. + In particular, users updating joblib to a release that includes + this fix will see their previous cache invalidated if they + contained reference to numpy objects. + * Remove deprecated check_pickle argument in delayed. +- Changes in 0.17.0 + * Fix a spurious invalidation of Memory.cache'd functions called + with Parallel under Jupyter or IPython. + * Bump vendored loky to 2.9.0 and cloudpickle to 1.6.0. In + particular this fixes a problem to add compat for Python 3.9. +- Don't require optional NumPy for python36 tests in TW, because + NumPy 1.20 dropped support for Python 3.6 (NEP 29) +- Drop joblib-disable-unrelialble-tests.patch, they are already + used in pytest deselection parameter. + * Do the same for disable_test_on_big_endian.patch. + ------------------------------------------------------------------- Sun Dec 6 21:37:54 UTC 2020 - Benjamin Greiner diff --git a/python-joblib.spec b/python-joblib.spec index df1dc2e..bcb1789 100644 --- a/python-joblib.spec +++ b/python-joblib.spec @@ -1,7 +1,7 @@ # # spec file for package python-joblib # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,27 +19,25 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %global skip_python2 1 Name: python-joblib -Version: 0.16.0 +Version: 1.0.1 Release: 0 Summary: Module for using Python functions as pipeline jobs License: BSD-3-Clause Group: Development/Languages/Python URL: https://github.com/joblib/joblib Source: https://files.pythonhosted.org/packages/source/j/joblib/joblib-%{version}.tar.gz -Patch1: disable_test_on_big_endian.patch -# PATCH-FIX-OPENSUSE - Disable tests failing often in OBS -Patch2: joblib-disable-unrelialble-tests.patch BuildRequires: %{python_module lz4} -BuildRequires: %{python_module numpy} BuildRequires: %{python_module psutil} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module threadpoolctl} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-lz4 +BuildRequires: %{python_module numpy if (%python-base without python36-base)} +Recommends: python-lz4 Recommends: python-numpy Recommends: python-psutil +Suggests: python-dask-distributed BuildArch: noarch %python_subpackages @@ -58,10 +56,6 @@ Joblib can handle large data and has specific optimizations for `numpy` arrays. %prep %setup -q -n joblib-%{version} -%patch1 -p1 -%ifarch aarch64 %arm ppc64 %{ix86} -%patch2 -p1 -%endif %build %python_build @@ -93,6 +87,9 @@ export LANG=en_US.UTF-8 # test_hashes_are_different_between_c_and_fortran_contiguous_arrays # test_hashes_stay_the_same_with_numpy_objects # test_non_contiguous_array_pickling +# +# always fails: +# test_parallel_call_cached_function_defined_in_jupyter DISABLED_TESTS="test_hash_numpy_noncontiguous or \ test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \ test_hashes_stay_the_same_with_numpy_objects or \ @@ -104,7 +101,11 @@ DISABLED_TESTS="test_hash_numpy_noncontiguous or \ test_hash_numpy_noncontiguous or \ test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \ test_hashes_stay_the_same_with_numpy_objects or \ - test_non_contiguous_array_pickling" + test_non_contiguous_array_pickling or \ + test_parallel_call_cached_function_defined_in_jupyter" +if [ $(python3 -c 'import sys; print(sys.byteorder)') != "little" ]; then + DISABLED_TESTS+=" or test_joblib_pickle_across_python_versions" +fi %pytest -k "not ($DISABLED_TESTS)" %files %{python_files}