From 39f1a4993a82d570ca8e186e7e6d623fe4f1d434 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 14 Jan 2024 21:30:46 -0500 Subject: [PATCH 01/16] Update to latest version (#2254772) --- .gitignore | 1 + ...t_encoding_gh601-on-big-endian-machines.patch | 8 ++++---- 0002-Skip-coverage-testing.patch | 6 +++--- ...-maximum-for-sizeof-test-to-pass-32-bit.patch | 4 ++-- ...as_timestamp_overflow_pyarrow-condition.patch | 16 ++++++++-------- 0005-Allow-older-versioneer.patch | 6 +++--- 0006-Ignore-NumPy-warnings-from-Pandas.patch | 6 +++--- python-dask.spec | 4 ++-- sources | 2 +- 9 files changed, 27 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 2fde80b..999c89c 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,4 @@ /dask-2023.8.1.tar.gz /dask-2023.11.0.tar.gz /dask-2023.12.0.tar.gz +/dask-2024.1.0.tar.gz diff --git a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch index 402e1a3..8738621 100644 --- a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch +++ b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch @@ -1,4 +1,4 @@ -From 1fcc2a30f6e5fea9aff448a52a0b4c4bbed908ea Mon Sep 17 00:00:00 2001 +From f72dcf5c752f37f5706dad8ec90f49e399206a6f Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 Mar 2021 04:07:32 -0500 Subject: [PATCH 1/6] Skip test_encoding_gh601 on big-endian machines. @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 2 insertions(+) diff --git a/dask/dataframe/io/tests/test_csv.py b/dask/dataframe/io/tests/test_csv.py -index 1df7202f..54ff1dff 100644 +index 198b3a9c..00150ede 100644 --- a/dask/dataframe/io/tests/test_csv.py +++ b/dask/dataframe/io/tests/test_csv.py @@ -4,6 +4,7 @@ import gzip @@ -20,7 +20,7 @@ index 1df7202f..54ff1dff 100644 from unittest import mock import pytest -@@ -1155,6 +1156,7 @@ def test_read_csv_with_datetime_index_partitions_n(): +@@ -1158,6 +1159,7 @@ def test_read_csv_with_datetime_index_partitions_n(): xfail_pandas_100 = pytest.mark.xfail(reason="https://github.com/dask/dask/issues/5787") @@ -29,5 +29,5 @@ index 1df7202f..54ff1dff 100644 "encoding", [ -- -2.42.0 +2.43.0 diff --git a/0002-Skip-coverage-testing.patch b/0002-Skip-coverage-testing.patch index 24bcd9f..9155dc9 100644 --- a/0002-Skip-coverage-testing.patch +++ b/0002-Skip-coverage-testing.patch @@ -1,4 +1,4 @@ -From f99ee06a1c64ff3096e90cbc3a11ed4f172de691 Mon Sep 17 00:00:00 2001 +From dec08425d0ee1ca04cbb20a687f60129eb43ccc9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 May 2023 23:13:59 -0400 Subject: [PATCH 2/6] Skip coverage testing @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index 0ef22fb6..a11ac921 100644 +index 2e410847..2ff033c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -127,7 +127,7 @@ markers = [ @@ -22,5 +22,5 @@ index 0ef22fb6..a11ac921 100644 # From Cython-1753 "ignore:can't resolve:ImportWarning", -- -2.42.0 +2.43.0 diff --git a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch index 722f223..ca05040 100644 --- a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch +++ b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch @@ -1,4 +1,4 @@ -From 691eb92e4c6099309919e3aaa05a3dd6a2f4ddb1 Mon Sep 17 00:00:00 2001 +From 8f1e71d4992b4c2797790fcb7b9bfc5cb81c43f8 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 20 Jul 2023 00:05:48 -0400 Subject: [PATCH 3/6] TST: Increase maximum for sizeof test to pass 32-bit @@ -25,5 +25,5 @@ index 9b43a7ae..866d119b 100644 -- -2.42.0 +2.43.0 diff --git a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch index baba485..ba34359 100644 --- a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch +++ b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch @@ -1,4 +1,4 @@ -From e5c291fbcd69a80aef7d8b01f7621d736ce497ed Mon Sep 17 00:00:00 2001 +From fdc1786e1cbcde39f250cb90cb1e473da69e9fce Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 19 Aug 2023 16:49:33 -0400 Subject: [PATCH 4/6] Fix test_pandas_timestamp_overflow_pyarrow condition @@ -11,26 +11,26 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dask/dataframe/io/tests/test_parquet.py b/dask/dataframe/io/tests/test_parquet.py -index 0d4dd39d..d5ad8b5f 100644 +index 1d65b42f..1b59b460 100644 --- a/dask/dataframe/io/tests/test_parquet.py +++ b/dask/dataframe/io/tests/test_parquet.py -@@ -3381,13 +3381,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): +@@ -3317,13 +3317,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): table, f"{tmpdir}/file.parquet", use_deprecated_int96_timestamps=False ) - if pyarrow_version < parse_version("13.0.0.dev"): + if pyarrow_version.major >= 13 and PANDAS_GE_200: -+ dd.read_parquet(str(tmpdir), engine="pyarrow").compute() ++ dd.read_parquet(str(tmpdir)).compute() + else: # This will raise by default due to overflow with pytest.raises(pa.lib.ArrowInvalid) as e: - dd.read_parquet(str(tmpdir), engine="pyarrow").compute() + dd.read_parquet(str(tmpdir)).compute() assert "out of bounds" in str(e.value) - else: -- dd.read_parquet(str(tmpdir), engine="pyarrow").compute() +- dd.read_parquet(str(tmpdir)).compute() - from dask.dataframe.io.parquet.arrow import ArrowDatasetEngine as ArrowEngine + from dask.dataframe.io.parquet.arrow import ArrowDatasetEngine -- -2.42.0 +2.43.0 diff --git a/0005-Allow-older-versioneer.patch b/0005-Allow-older-versioneer.patch index bc36f73..e7289b5 100644 --- a/0005-Allow-older-versioneer.patch +++ b/0005-Allow-older-versioneer.patch @@ -1,4 +1,4 @@ -From 7803706e5acf1e1edce34de0b0d5321872bde299 Mon Sep 17 00:00:00 2001 +From c777ccf23b8f23fa545abf52713711bac84b0968 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 25 Nov 2023 20:22:50 -0500 Subject: [PATCH 5/6] Allow older versioneer @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index a11ac921..d74f0fa5 100644 +index 2ff033c9..a334414c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ @@ -20,5 +20,5 @@ index a11ac921..d74f0fa5 100644 [project] -- -2.42.0 +2.43.0 diff --git a/0006-Ignore-NumPy-warnings-from-Pandas.patch b/0006-Ignore-NumPy-warnings-from-Pandas.patch index 09efd29..1dd282d 100644 --- a/0006-Ignore-NumPy-warnings-from-Pandas.patch +++ b/0006-Ignore-NumPy-warnings-from-Pandas.patch @@ -1,4 +1,4 @@ -From 7db95f23f20cfd48eb6352c9ac0cba7780e925f6 Mon Sep 17 00:00:00 2001 +From 92252faab5d8a8700533b4eb5afda87a948e691b Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Mon, 22 May 2023 12:53:20 -0500 Subject: [PATCH 6/6] Ignore NumPy warnings from Pandas @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 5 insertions(+) diff --git a/pyproject.toml b/pyproject.toml -index d74f0fa5..b93c2187 100644 +index a334414c..f416cf3c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -143,6 +143,11 @@ filterwarnings = [ @@ -25,5 +25,5 @@ index d74f0fa5..b93c2187 100644 'ignore:DataFrameGroupBy\.apply operated on the grouping columns\. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation\. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning\.:FutureWarning', 'ignore:Passing a BlockManager to DataFrame is deprecated and will raise in a future version. Use public APIs instead:DeprecationWarning', # https://github.com/apache/arrow/issues/35081 -- -2.42.0 +2.43.0 diff --git a/python-dask.spec b/python-dask.spec index 23e565e..03c0cb0 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -10,8 +10,8 @@ %global debug_package %{nil} Name: python-%{srcname} -Version: 2023.12.0 -%global tag 2023.12.0 +Version: 2024.1.0 +%global tag 2024.1.0 Release: %autorelease Summary: Parallel PyData with Task Scheduling diff --git a/sources b/sources index 2db5e91..148727d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dask-2023.12.0.tar.gz) = b4e81f7e0ff23862824b71c98f36293da2d11bc49b5f82df556be0023d001aa85181db336e8333bb4c589259d18435ef04289219706479e3982b2c2bb398e7c6 +SHA512 (dask-2024.1.0.tar.gz) = 188f5cf77959dad7db247fe3960625236284508410a6cb100f87d2d5bc44b81e5bd85f80fe9c5b2f181f3559b6671076f4cf2530ffd4323cbf857e5dd03e4252 From 6eb3efc15675f17b33e5a99c561cf21521c39267 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 17 Jan 2024 18:38:55 -0500 Subject: [PATCH 02/16] Backport fix for flaky test --- 10815.patch | 21 +++++++++++++++++++++ python-dask.spec | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 10815.patch diff --git a/10815.patch b/10815.patch new file mode 100644 index 0000000..4264385 --- /dev/null +++ b/10815.patch @@ -0,0 +1,21 @@ +From 6d0f468986a6e3a6f170f40320f7087db7031a9f Mon Sep 17 00:00:00 2001 +From: Patrick Hoefler <61934744+phofl@users.noreply.github.com> +Date: Wed, 17 Jan 2024 11:14:03 +0000 +Subject: [PATCH] Filter warnings from std test + +--- + dask/dataframe/tests/test_arithmetics_reduction.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dask/dataframe/tests/test_arithmetics_reduction.py b/dask/dataframe/tests/test_arithmetics_reduction.py +index 797eadadf94..3a0ee9de6f1 100644 +--- a/dask/dataframe/tests/test_arithmetics_reduction.py ++++ b/dask/dataframe/tests/test_arithmetics_reduction.py +@@ -1755,6 +1755,7 @@ def test_datetime_std_creates_copy_cols(axis, numeric_only): + assert_near_timedeltas(result.compute(), expected) + + ++@pytest.mark.filterwarnings("ignore::RuntimeWarning") + @pytest.mark.parametrize("axis", [0, 1]) + @pytest.mark.parametrize("skipna", [False, True]) + @pytest.mark.parametrize("numeric_only", [True, False, None]) diff --git a/python-dask.spec b/python-dask.spec index 03c0cb0..8796e67 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -33,6 +33,8 @@ Patch: 0005-Allow-older-versioneer.patch # Upstream had https://github.com/dask/dask/pull/10307 but reverted it because # a new Pandas was released that fixed the warning, but we don't have it yet. Patch: 0006-Ignore-NumPy-warnings-from-Pandas.patch +# Filter warnings from std test +Patch: https://github.com/dask/dask/pull/10815.patch %description Dask is a flexible parallel computing library for analytics. From 9b5b94266f88b48c233fc6918ca612bebb9069f1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 00:34:51 +0000 Subject: [PATCH 03/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From e4ec7c92631842ea9424e0525cdcae36dd24399d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 03:05:54 +0000 Subject: [PATCH 04/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From b566f18f1d74507198420fa0703988e75d94a8c2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 29 Jan 2024 21:12:19 -0500 Subject: [PATCH 05/16] Update to latest version (#2260587) --- .gitignore | 1 + ...ncoding_gh601-on-big-endian-machines.patch | 2 +- 0002-Skip-coverage-testing.patch | 4 ++-- ...ximum-for-sizeof-test-to-pass-32-bit.patch | 6 +++--- ...timestamp_overflow_pyarrow-condition.patch | 6 +++--- 0005-Allow-older-versioneer.patch | 4 ++-- 0006-Ignore-NumPy-warnings-from-Pandas.patch | 4 ++-- 10815.patch | 21 ------------------- python-dask.spec | 6 ++---- sources | 2 +- 10 files changed, 17 insertions(+), 39 deletions(-) delete mode 100644 10815.patch diff --git a/.gitignore b/.gitignore index 999c89c..dd5ff95 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,4 @@ /dask-2023.11.0.tar.gz /dask-2023.12.0.tar.gz /dask-2024.1.0.tar.gz +/dask-2024.1.1.tar.gz diff --git a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch index 8738621..b349b0d 100644 --- a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch +++ b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch @@ -1,4 +1,4 @@ -From f72dcf5c752f37f5706dad8ec90f49e399206a6f Mon Sep 17 00:00:00 2001 +From f340755fc0bc2c05241834517ce18600a50346c5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 Mar 2021 04:07:32 -0500 Subject: [PATCH 1/6] Skip test_encoding_gh601 on big-endian machines. diff --git a/0002-Skip-coverage-testing.patch b/0002-Skip-coverage-testing.patch index 9155dc9..d48b602 100644 --- a/0002-Skip-coverage-testing.patch +++ b/0002-Skip-coverage-testing.patch @@ -1,4 +1,4 @@ -From dec08425d0ee1ca04cbb20a687f60129eb43ccc9 Mon Sep 17 00:00:00 2001 +From 37307876ef722879da3c751f26453e123e68677c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 May 2023 23:13:59 -0400 Subject: [PATCH 2/6] Skip coverage testing @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index 2e410847..2ff033c9 100644 +index 0359c3dc..d43d0f26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -127,7 +127,7 @@ markers = [ diff --git a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch index ca05040..6cba510 100644 --- a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch +++ b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch @@ -1,4 +1,4 @@ -From 8f1e71d4992b4c2797790fcb7b9bfc5cb81c43f8 Mon Sep 17 00:00:00 2001 +From 7dc173089885ae21a784498fb6a38aaeca4a5295 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 20 Jul 2023 00:05:48 -0400 Subject: [PATCH 3/6] TST: Increase maximum for sizeof test to pass 32-bit @@ -12,11 +12,11 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dask/tests/test_sizeof.py b/dask/tests/test_sizeof.py -index 9b43a7ae..866d119b 100644 +index ef3d6ba3..dd1a0b81 100644 --- a/dask/tests/test_sizeof.py +++ b/dask/tests/test_sizeof.py @@ -81,7 +81,7 @@ def test_pandas_multiindex(): - index = pd.MultiIndex.from_product([range(5), ["a", "b", "c", "d", "e"]]) + index = pd.MultiIndex.from_product([range(50), list("abcdefghilmnopqrstuvwxyz")]) actual_size = sys.getsizeof(index) - assert 0.5 * actual_size < sizeof(index) < 2 * actual_size diff --git a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch index ba34359..afe6455 100644 --- a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch +++ b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch @@ -1,4 +1,4 @@ -From fdc1786e1cbcde39f250cb90cb1e473da69e9fce Mon Sep 17 00:00:00 2001 +From b07c12f7ded07e265ea2ee3e30b0e736b90c2703 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 19 Aug 2023 16:49:33 -0400 Subject: [PATCH 4/6] Fix test_pandas_timestamp_overflow_pyarrow condition @@ -11,10 +11,10 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dask/dataframe/io/tests/test_parquet.py b/dask/dataframe/io/tests/test_parquet.py -index 1d65b42f..1b59b460 100644 +index 861b411f..5fbf81b8 100644 --- a/dask/dataframe/io/tests/test_parquet.py +++ b/dask/dataframe/io/tests/test_parquet.py -@@ -3317,13 +3317,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): +@@ -3326,13 +3326,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): table, f"{tmpdir}/file.parquet", use_deprecated_int96_timestamps=False ) diff --git a/0005-Allow-older-versioneer.patch b/0005-Allow-older-versioneer.patch index e7289b5..030d3f6 100644 --- a/0005-Allow-older-versioneer.patch +++ b/0005-Allow-older-versioneer.patch @@ -1,4 +1,4 @@ -From c777ccf23b8f23fa545abf52713711bac84b0968 Mon Sep 17 00:00:00 2001 +From e382e5cb3dd89f60dfe640cb75c24d84e8972534 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 25 Nov 2023 20:22:50 -0500 Subject: [PATCH 5/6] Allow older versioneer @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index 2ff033c9..a334414c 100644 +index d43d0f26..1a6e5b94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ diff --git a/0006-Ignore-NumPy-warnings-from-Pandas.patch b/0006-Ignore-NumPy-warnings-from-Pandas.patch index 1dd282d..3493d3d 100644 --- a/0006-Ignore-NumPy-warnings-from-Pandas.patch +++ b/0006-Ignore-NumPy-warnings-from-Pandas.patch @@ -1,4 +1,4 @@ -From 92252faab5d8a8700533b4eb5afda87a948e691b Mon Sep 17 00:00:00 2001 +From 77a58470dabbbeecf304ca2681454782f012da76 Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Mon, 22 May 2023 12:53:20 -0500 Subject: [PATCH 6/6] Ignore NumPy warnings from Pandas @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 5 insertions(+) diff --git a/pyproject.toml b/pyproject.toml -index a334414c..f416cf3c 100644 +index 1a6e5b94..181e184d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -143,6 +143,11 @@ filterwarnings = [ diff --git a/10815.patch b/10815.patch deleted file mode 100644 index 4264385..0000000 --- a/10815.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 6d0f468986a6e3a6f170f40320f7087db7031a9f Mon Sep 17 00:00:00 2001 -From: Patrick Hoefler <61934744+phofl@users.noreply.github.com> -Date: Wed, 17 Jan 2024 11:14:03 +0000 -Subject: [PATCH] Filter warnings from std test - ---- - dask/dataframe/tests/test_arithmetics_reduction.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dask/dataframe/tests/test_arithmetics_reduction.py b/dask/dataframe/tests/test_arithmetics_reduction.py -index 797eadadf94..3a0ee9de6f1 100644 ---- a/dask/dataframe/tests/test_arithmetics_reduction.py -+++ b/dask/dataframe/tests/test_arithmetics_reduction.py -@@ -1755,6 +1755,7 @@ def test_datetime_std_creates_copy_cols(axis, numeric_only): - assert_near_timedeltas(result.compute(), expected) - - -+@pytest.mark.filterwarnings("ignore::RuntimeWarning") - @pytest.mark.parametrize("axis", [0, 1]) - @pytest.mark.parametrize("skipna", [False, True]) - @pytest.mark.parametrize("numeric_only", [True, False, None]) diff --git a/python-dask.spec b/python-dask.spec index 8796e67..813afe6 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -10,8 +10,8 @@ %global debug_package %{nil} Name: python-%{srcname} -Version: 2024.1.0 -%global tag 2024.1.0 +Version: 2024.1.1 +%global tag 2024.1.1 Release: %autorelease Summary: Parallel PyData with Task Scheduling @@ -33,8 +33,6 @@ Patch: 0005-Allow-older-versioneer.patch # Upstream had https://github.com/dask/dask/pull/10307 but reverted it because # a new Pandas was released that fixed the warning, but we don't have it yet. Patch: 0006-Ignore-NumPy-warnings-from-Pandas.patch -# Filter warnings from std test -Patch: https://github.com/dask/dask/pull/10815.patch %description Dask is a flexible parallel computing library for analytics. diff --git a/sources b/sources index 148727d..eb9a3f5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dask-2024.1.0.tar.gz) = 188f5cf77959dad7db247fe3960625236284508410a6cb100f87d2d5bc44b81e5bd85f80fe9c5b2f181f3559b6671076f4cf2530ffd4323cbf857e5dd03e4252 +SHA512 (dask-2024.1.1.tar.gz) = 1ff777e84c9dfa3323c2ef2111d41c1f9fbe09e348ff58c021a19ce4acbd8e1fec1f4a91b698c7168e7a71006d6f42ca134547fe30431e41950bf0e7143d7cfd From 2bdf04a38ba78453e15b634c8f34342a13816bfb Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 24 Feb 2024 16:42:52 -0500 Subject: [PATCH 06/16] Update to latest version (#2263594) --- .gitignore | 1 + ...-Skip-test_encoding_gh601-on-big-endian-machines.patch | 4 ++-- 0002-Skip-coverage-testing.patch | 8 ++++---- ...-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch | 2 +- ...test_pandas_timestamp_overflow_pyarrow-condition.patch | 6 +++--- 0005-Allow-older-versioneer.patch | 4 ++-- 0006-Ignore-NumPy-warnings-from-Pandas.patch | 8 ++++---- python-dask.spec | 4 ++-- sources | 2 +- 9 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index dd5ff95..1ecd27d 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,4 @@ /dask-2023.12.0.tar.gz /dask-2024.1.0.tar.gz /dask-2024.1.1.tar.gz +/dask-2024.2.1.tar.gz diff --git a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch index b349b0d..5e87d2e 100644 --- a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch +++ b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch @@ -1,4 +1,4 @@ -From f340755fc0bc2c05241834517ce18600a50346c5 Mon Sep 17 00:00:00 2001 +From 252bee6343dd77b89b2f2879204398d9047a9924 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 Mar 2021 04:07:32 -0500 Subject: [PATCH 1/6] Skip test_encoding_gh601 on big-endian machines. @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 2 insertions(+) diff --git a/dask/dataframe/io/tests/test_csv.py b/dask/dataframe/io/tests/test_csv.py -index 198b3a9c..00150ede 100644 +index a0924d2a..faaf6444 100644 --- a/dask/dataframe/io/tests/test_csv.py +++ b/dask/dataframe/io/tests/test_csv.py @@ -4,6 +4,7 @@ import gzip diff --git a/0002-Skip-coverage-testing.patch b/0002-Skip-coverage-testing.patch index d48b602..bee4182 100644 --- a/0002-Skip-coverage-testing.patch +++ b/0002-Skip-coverage-testing.patch @@ -1,4 +1,4 @@ -From 37307876ef722879da3c751f26453e123e68677c Mon Sep 17 00:00:00 2001 +From 8cf6b4224a56b0a05fc5fe3bd75d7979d102c610 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 May 2023 23:13:59 -0400 Subject: [PATCH 2/6] Skip coverage testing @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index 0359c3dc..d43d0f26 100644 +index 34952022..ab317716 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -127,7 +127,7 @@ markers = [ @@ -19,8 +19,8 @@ index 0359c3dc..d43d0f26 100644 -addopts = "-v -rsxfE --durations=10 --color=yes --cov-config=pyproject.toml" +addopts = "-v -rsxfE --durations=10 --color=yes" filterwarnings = [ - # From Cython-1753 - "ignore:can't resolve:ImportWarning", + "error:::dask[.*]", + "error:::pandas[.*]", -- 2.43.0 diff --git a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch index 6cba510..af09015 100644 --- a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch +++ b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch @@ -1,4 +1,4 @@ -From 7dc173089885ae21a784498fb6a38aaeca4a5295 Mon Sep 17 00:00:00 2001 +From 84706407d4e633658c77503d46a500d09cda5932 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 20 Jul 2023 00:05:48 -0400 Subject: [PATCH 3/6] TST: Increase maximum for sizeof test to pass 32-bit diff --git a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch index afe6455..eeed87d 100644 --- a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch +++ b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch @@ -1,4 +1,4 @@ -From b07c12f7ded07e265ea2ee3e30b0e736b90c2703 Mon Sep 17 00:00:00 2001 +From 4f47b4de8a5b26ebf42670fabee8f6053e87d849 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 19 Aug 2023 16:49:33 -0400 Subject: [PATCH 4/6] Fix test_pandas_timestamp_overflow_pyarrow condition @@ -11,10 +11,10 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dask/dataframe/io/tests/test_parquet.py b/dask/dataframe/io/tests/test_parquet.py -index 861b411f..5fbf81b8 100644 +index 8a854ca4..e838d20d 100644 --- a/dask/dataframe/io/tests/test_parquet.py +++ b/dask/dataframe/io/tests/test_parquet.py -@@ -3326,13 +3326,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): +@@ -3323,13 +3323,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): table, f"{tmpdir}/file.parquet", use_deprecated_int96_timestamps=False ) diff --git a/0005-Allow-older-versioneer.patch b/0005-Allow-older-versioneer.patch index 030d3f6..de1a4cb 100644 --- a/0005-Allow-older-versioneer.patch +++ b/0005-Allow-older-versioneer.patch @@ -1,4 +1,4 @@ -From e382e5cb3dd89f60dfe640cb75c24d84e8972534 Mon Sep 17 00:00:00 2001 +From 7258f2d4dd68c814ecba033eecff6e8047f21f53 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 25 Nov 2023 20:22:50 -0500 Subject: [PATCH 5/6] Allow older versioneer @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index d43d0f26..1a6e5b94 100644 +index ab317716..79f36f2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ diff --git a/0006-Ignore-NumPy-warnings-from-Pandas.patch b/0006-Ignore-NumPy-warnings-from-Pandas.patch index 3493d3d..ceba2f5 100644 --- a/0006-Ignore-NumPy-warnings-from-Pandas.patch +++ b/0006-Ignore-NumPy-warnings-from-Pandas.patch @@ -1,4 +1,4 @@ -From 77a58470dabbbeecf304ca2681454782f012da76 Mon Sep 17 00:00:00 2001 +From 6580d3d6314ff062070624241543b671d83a6c07 Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Mon, 22 May 2023 12:53:20 -0500 Subject: [PATCH 6/6] Ignore NumPy warnings from Pandas @@ -9,10 +9,10 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 5 insertions(+) diff --git a/pyproject.toml b/pyproject.toml -index 1a6e5b94..181e184d 100644 +index 79f36f2c..e10e5819 100644 --- a/pyproject.toml +++ b/pyproject.toml -@@ -143,6 +143,11 @@ filterwarnings = [ +@@ -141,6 +141,11 @@ filterwarnings = [ # https://pandas.pydata.org/docs/dev/whatsnew/v1.5.0.html#using-group-keys-with-transformers-in-groupby-apply "ignore:Not prepending group keys:FutureWarning", "ignore:.*:dask.tests.warning_aliases.RemovedIn20Warning", @@ -22,8 +22,8 @@ index 1a6e5b94..181e184d 100644 + "ignore:`cumproduct` is deprecated:DeprecationWarning", + "ignore:`product` is deprecated:DeprecationWarning", "ignore:When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas:FutureWarning", - 'ignore:DataFrameGroupBy\.apply operated on the grouping columns\. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation\. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning\.:FutureWarning', 'ignore:Passing a BlockManager to DataFrame is deprecated and will raise in a future version. Use public APIs instead:DeprecationWarning', # https://github.com/apache/arrow/issues/35081 + 'ignore:The previous implementation of stack is deprecated and will be removed in a future version of pandas\.:FutureWarning', -- 2.43.0 diff --git a/python-dask.spec b/python-dask.spec index 813afe6..74f85c9 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -10,8 +10,8 @@ %global debug_package %{nil} Name: python-%{srcname} -Version: 2024.1.1 -%global tag 2024.1.1 +Version: 2024.2.1 +%global tag 2024.2.1 Release: %autorelease Summary: Parallel PyData with Task Scheduling diff --git a/sources b/sources index eb9a3f5..2045654 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dask-2024.1.1.tar.gz) = 1ff777e84c9dfa3323c2ef2111d41c1f9fbe09e348ff58c021a19ce4acbd8e1fec1f4a91b698c7168e7a71006d6f42ca134547fe30431e41950bf0e7143d7cfd +SHA512 (dask-2024.2.1.tar.gz) = 2f547537365bdb09e0638c4552dee3d5970888208cde808154594c4fe78997c204e40ff12200298375b357e95e89e825251ddc9a36a8280aba83330129a65831 From 798549d05964cd2cf1318ac5a367e1925be3ccab Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 29 Feb 2024 20:31:56 -0500 Subject: [PATCH 07/16] Fix tests on other architectures --- ...ncoding_gh601-on-big-endian-machines.patch | 2 +- 0002-Skip-coverage-testing.patch | 2 +- ...ximum-for-sizeof-test-to-pass-32-bit.patch | 22 +++++++++++---- ...timestamp_overflow_pyarrow-condition.patch | 4 +-- ...ng-the-random-seed-with-the-same-byt.patch | 27 +++++++++++++++++++ ...patch => 0006-Allow-older-versioneer.patch | 4 +-- ...07-Ignore-NumPy-warnings-from-Pandas.patch | 4 +-- 0008-TST-Add-missing-skip-for-pyarrow.patch | 25 +++++++++++++++++ force-little-endian-random.patch | 19 ------------- python-dask.spec | 10 ++++--- 10 files changed, 84 insertions(+), 35 deletions(-) create mode 100644 0005-Force-initializing-the-random-seed-with-the-same-byt.patch rename 0005-Allow-older-versioneer.patch => 0006-Allow-older-versioneer.patch (84%) rename 0006-Ignore-NumPy-warnings-from-Pandas.patch => 0007-Ignore-NumPy-warnings-from-Pandas.patch (92%) create mode 100644 0008-TST-Add-missing-skip-for-pyarrow.patch delete mode 100644 force-little-endian-random.patch diff --git a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch index 5e87d2e..2996f1e 100644 --- a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch +++ b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch @@ -1,7 +1,7 @@ From 252bee6343dd77b89b2f2879204398d9047a9924 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 Mar 2021 04:07:32 -0500 -Subject: [PATCH 1/6] Skip test_encoding_gh601 on big-endian machines. +Subject: [PATCH 1/8] Skip test_encoding_gh601 on big-endian machines. Signed-off-by: Elliott Sales de Andrade --- diff --git a/0002-Skip-coverage-testing.patch b/0002-Skip-coverage-testing.patch index bee4182..ba64a5a 100644 --- a/0002-Skip-coverage-testing.patch +++ b/0002-Skip-coverage-testing.patch @@ -1,7 +1,7 @@ From 8cf6b4224a56b0a05fc5fe3bd75d7979d102c610 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 7 May 2023 23:13:59 -0400 -Subject: [PATCH 2/6] Skip coverage testing +Subject: [PATCH 2/8] Skip coverage testing Signed-off-by: Elliott Sales de Andrade --- diff --git a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch index af09015..f5bf14d 100644 --- a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch +++ b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch @@ -1,18 +1,21 @@ -From 84706407d4e633658c77503d46a500d09cda5932 Mon Sep 17 00:00:00 2001 +From e0158048423c562e20479a2f8f8bd749a15b84f6 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 20 Jul 2023 00:05:48 -0400 -Subject: [PATCH 3/6] TST: Increase maximum for sizeof test to pass 32-bit +Subject: [PATCH 3/8] TST: Increase maximum for sizeof test to pass 32-bit In that case, the result is 1244, which is ~2.6 * `sys.sizeof` (476), slightly over the 2 used in the existing test. +The minimum size of the sparse matrix also appears to be a bit smaller +as well. + Signed-off-by: Elliott Sales de Andrade --- - dask/tests/test_sizeof.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + dask/tests/test_sizeof.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dask/tests/test_sizeof.py b/dask/tests/test_sizeof.py -index ef3d6ba3..dd1a0b81 100644 +index ef3d6ba3..40c479b9 100644 --- a/dask/tests/test_sizeof.py +++ b/dask/tests/test_sizeof.py @@ -81,7 +81,7 @@ def test_pandas_multiindex(): @@ -24,6 +27,15 @@ index ef3d6ba3..dd1a0b81 100644 assert isinstance(sizeof(index), int) +@@ -104,7 +104,7 @@ def test_sparse_matrix(): + assert sizeof(sp.tocoo()) >= 240 + assert sizeof(sp.tocsc()) >= 232 + assert sizeof(sp.tocsr()) >= 232 +- assert sizeof(sp.todok()) >= 188 ++ assert sizeof(sp.todok()) >= 184 + assert sizeof(sp.tolil()) >= 204 + + -- 2.43.0 diff --git a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch index eeed87d..ef78a7f 100644 --- a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch +++ b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch @@ -1,7 +1,7 @@ -From 4f47b4de8a5b26ebf42670fabee8f6053e87d849 Mon Sep 17 00:00:00 2001 +From 9c00d60eb22e91bd6920b472c458f277f1dec964 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 19 Aug 2023 16:49:33 -0400 -Subject: [PATCH 4/6] Fix test_pandas_timestamp_overflow_pyarrow condition +Subject: [PATCH 4/8] Fix test_pandas_timestamp_overflow_pyarrow condition The new behavior in pyarrow only occurs with Pandas 2.0 as well. diff --git a/0005-Force-initializing-the-random-seed-with-the-same-byt.patch b/0005-Force-initializing-the-random-seed-with-the-same-byt.patch new file mode 100644 index 0000000..db05dee --- /dev/null +++ b/0005-Force-initializing-the-random-seed-with-the-same-byt.patch @@ -0,0 +1,27 @@ +From 741c375b14edcc5b32d1641b11a39d8ee5679496 Mon Sep 17 00:00:00 2001 +From: Diane Trout +Date: Thu, 29 Feb 2024 19:39:26 -0500 +Subject: [PATCH 5/8] Force initializing the random seed with the same byte + order interpretation as on x86 + +Signed-off-by: Elliott Sales de Andrade +--- + dask/utils.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dask/utils.py b/dask/utils.py +index 0e974fe4..4dcfca42 100644 +--- a/dask/utils.py ++++ b/dask/utils.py +@@ -557,7 +557,7 @@ def random_state_data(n: int, random_state=None) -> list: + random_state = np.random.RandomState(random_state) + + random_data = random_state.bytes(624 * n * 4) # `n * 624` 32-bit integers +- l = list(np.frombuffer(random_data, dtype=np.uint32).reshape((n, -1))) ++ l = list(np.frombuffer(random_data, dtype=" Date: Sat, 25 Nov 2023 20:22:50 -0500 -Subject: [PATCH 5/6] Allow older versioneer +Subject: [PATCH 6/8] Allow older versioneer Signed-off-by: Elliott Sales de Andrade --- diff --git a/0006-Ignore-NumPy-warnings-from-Pandas.patch b/0007-Ignore-NumPy-warnings-from-Pandas.patch similarity index 92% rename from 0006-Ignore-NumPy-warnings-from-Pandas.patch rename to 0007-Ignore-NumPy-warnings-from-Pandas.patch index ceba2f5..a9762c5 100644 --- a/0006-Ignore-NumPy-warnings-from-Pandas.patch +++ b/0007-Ignore-NumPy-warnings-from-Pandas.patch @@ -1,7 +1,7 @@ -From 6580d3d6314ff062070624241543b671d83a6c07 Mon Sep 17 00:00:00 2001 +From 9a6c7b4dcf99d9638a0a7d8f5253cbf9ee494095 Mon Sep 17 00:00:00 2001 From: James Bourbeau Date: Mon, 22 May 2023 12:53:20 -0500 -Subject: [PATCH 6/6] Ignore NumPy warnings from Pandas +Subject: [PATCH 7/8] Ignore NumPy warnings from Pandas Signed-off-by: Elliott Sales de Andrade --- diff --git a/0008-TST-Add-missing-skip-for-pyarrow.patch b/0008-TST-Add-missing-skip-for-pyarrow.patch new file mode 100644 index 0000000..e506e05 --- /dev/null +++ b/0008-TST-Add-missing-skip-for-pyarrow.patch @@ -0,0 +1,25 @@ +From 5077c2dc914761df04fe853e9261cd33a733e3df Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Thu, 29 Feb 2024 19:30:14 -0500 +Subject: [PATCH 8/8] TST: Add missing skip for pyarrow + +Signed-off-by: Elliott Sales de Andrade +--- + dask/dataframe/io/tests/test_parquet.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dask/dataframe/io/tests/test_parquet.py b/dask/dataframe/io/tests/test_parquet.py +index e838d20d..05f0ac8e 100644 +--- a/dask/dataframe/io/tests/test_parquet.py ++++ b/dask/dataframe/io/tests/test_parquet.py +@@ -4934,6 +4934,7 @@ def test_read_parquet_lists_not_converting(tmpdir): + assert_eq(df, result) + + ++@PYARROW_MARK + @pytest.mark.skipif(not PANDAS_GE_200, reason="Requires pandas>=2.0") + def test_parquet_string_roundtrip(tmpdir): + pdf = pd.DataFrame({"a": ["a", "b", "c"]}, dtype="string[pyarrow]") +-- +2.43.0 + diff --git a/force-little-endian-random.patch b/force-little-endian-random.patch deleted file mode 100644 index 87c9cc1..0000000 --- a/force-little-endian-random.patch +++ /dev/null @@ -1,19 +0,0 @@ -Author: Diane Trout -Description: Force initializing the random seed with the same - byte order interpretation as on x86. - -Index: dask-2023.8.0+dfsg/dask/utils.py -=================================================================== ---- dask-2023.8.0+dfsg.orig/dask/utils.py -+++ dask-2023.8.0+dfsg/dask/utils.py -@@ -426,7 +426,9 @@ def random_state_data(n: int, random_sta - random_state = np.random.RandomState(random_state) - - random_data = random_state.bytes(624 * n * 4) # `n * 624` 32-bit integers -- l = list(np.frombuffer(random_data, dtype=np.uint32).reshape((n, -1))) -+ dt = np.dtype(np.uint32) -+ dt = dt.newbyteorder("<") -+ l = list(np.frombuffer(random_data, dtype=dt).reshape((n, -1))) - assert len(l) == n - return l - diff --git a/python-dask.spec b/python-dask.spec index 74f85c9..f78a9aa 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -23,16 +23,20 @@ Patch: 0001-Skip-test_encoding_gh601-on-big-endian-machines.patch # Fedora-specific patch. Patch: 0002-Skip-coverage-testing.patch # Drop after dropping 32-bit support. +# https://github.com/dask/dask/pull/10971 Patch: 0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch # https://github.com/dask/dask/pull/10451 Patch: 0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch # https://github.com/dask/dask/issues/10423 -Patch: https://salsa.debian.org/python-team/packages/dask/-/raw/08ffea1b7b53e9c71c9a926d5786288c2e6c1b5b/debian/patches/force-little-endian-random.patch -Patch: 0005-Allow-older-versioneer.patch +# https://github.com/dask/dask/pull/10970 +Patch: 0005-Force-initializing-the-random-seed-with-the-same-byt.patch +Patch: 0006-Allow-older-versioneer.patch # Ignore warnings from Pandas. # Upstream had https://github.com/dask/dask/pull/10307 but reverted it because # a new Pandas was released that fixed the warning, but we don't have it yet. -Patch: 0006-Ignore-NumPy-warnings-from-Pandas.patch +Patch: 0007-Ignore-NumPy-warnings-from-Pandas.patch +# https://github.com/dask/dask/pull/10969 +Patch: 0008-TST-Add-missing-skip-for-pyarrow.patch %description Dask is a flexible parallel computing library for analytics. From a62472cf253578e7f3fced39e9ac3da556fd9fd1 Mon Sep 17 00:00:00 2001 From: Sandro Date: Mon, 11 Mar 2024 13:41:59 +0100 Subject: [PATCH 08/16] Drop i686 support In the next major update `pandas` will drop support for i686. This package depends on `pandas`, thus it will need to stop building for i686 as well. More information is available in Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2263999 --- python-dask.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python-dask.spec b/python-dask.spec index f78a9aa..0b6b7b0 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -38,6 +38,10 @@ Patch: 0007-Ignore-NumPy-warnings-from-Pandas.patch # https://github.com/dask/dask/pull/10969 Patch: 0008-TST-Add-missing-skip-for-pyarrow.patch +# Stop building on i686 +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + %description Dask is a flexible parallel computing library for analytics. From fc02ba1a1bcdd4e2277f66090be5ac6e26e490ce Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 17 Jun 2024 22:51:18 +0200 Subject: [PATCH 09/16] Rebuilt for Python 3.13 From b13fe9022b8c1cb42dadda979960a7faa814fd22 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 17 Jun 2024 16:16:42 -0700 Subject: [PATCH 10/16] Update to 2024.6.0, drop merged/unneeded patches, Python 3.13 fixes This updates to the latest upstream release, drops several patches that have been merged or that are no longer necessary since we have newer versions of various deps in Fedora 40 and Rawhide, and backports https://github.com/dask/dask/pull/11185 to fix a couple of issues with Python 3.13. --- .gitignore | 1 + ...13-exception-type-change-in-unpack_c.patch | 52 +++++++++++++++++++ ...ncoding_gh601-on-big-endian-machines.patch | 33 ------------ 0002-Skip-coverage-testing.patch | 4 +- ...m-don-t-expect-extra-docstring-to-be.patch | 31 +++++++++++ ...ximum-for-sizeof-test-to-pass-32-bit.patch | 41 --------------- ...timestamp_overflow_pyarrow-condition.patch | 36 ------------- 0007-Ignore-NumPy-warnings-from-Pandas.patch | 29 ----------- 0008-TST-Add-missing-skip-for-pyarrow.patch | 25 --------- python-dask.spec | 32 +++++------- sources | 2 +- 11 files changed, 101 insertions(+), 185 deletions(-) create mode 100644 0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch delete mode 100644 0001-Skip-test_encoding_gh601-on-big-endian-machines.patch create mode 100644 0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch delete mode 100644 0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch delete mode 100644 0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch delete mode 100644 0007-Ignore-NumPy-warnings-from-Pandas.patch delete mode 100644 0008-TST-Add-missing-skip-for-pyarrow.patch diff --git a/.gitignore b/.gitignore index 1ecd27d..7c05d95 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,4 @@ /dask-2024.1.0.tar.gz /dask-2024.1.1.tar.gz /dask-2024.2.1.tar.gz +/dask-2024.6.0.tar.gz diff --git a/0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch b/0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch new file mode 100644 index 0000000..140955a --- /dev/null +++ b/0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch @@ -0,0 +1,52 @@ +From 5ddb00ec0f8ab33cb82e7fc6c396e40bd500ed0e Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Mon, 17 Jun 2024 15:17:12 -0700 +Subject: [PATCH 1/2] Handle Python 3.13 exception type change in + `unpack_collections` + +In Python 3.13, `dataclasses.replace()` now raises a `TypeError` +rather than a `ValueError` when a field is declared with +init=False (or when an init variable is not specified). We were +relying on it raising a `ValueError` in this case. This fix +should keep dask's interface consistent across Python versions. + +Signed-off-by: Adam Williamson +--- + dask/delayed.py | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +diff --git a/dask/delayed.py b/dask/delayed.py +index 1c63a39ef..350e89fbf 100644 +--- a/dask/delayed.py ++++ b/dask/delayed.py +@@ -141,16 +141,17 @@ def unpack_collections(expr): + if hasattr(expr, f.name) + } + replace(expr, **_fields) +- except TypeError as e: +- raise TypeError( +- f"Failed to unpack {typ} instance. " +- "Note that using a custom __init__ is not supported." +- ) from e +- except ValueError as e: +- raise ValueError( +- f"Failed to unpack {typ} instance. " +- "Note that using fields with `init=False` are not supported." +- ) from e ++ except (TypeError, ValueError) as e: ++ if isinstance(e, ValueError) or "is declared with init=False" in str(e): ++ raise ValueError( ++ f"Failed to unpack {typ} instance. " ++ "Note that using fields with `init=False` are not supported." ++ ) from e ++ else: ++ raise TypeError( ++ f"Failed to unpack {typ} instance. " ++ "Note that using a custom __init__ is not supported." ++ ) from e + return (apply, typ, (), (dict, args)), collections + + if is_namedtuple_instance(expr): +-- +2.45.2 + diff --git a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch b/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch deleted file mode 100644 index 2996f1e..0000000 --- a/0001-Skip-test_encoding_gh601-on-big-endian-machines.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 252bee6343dd77b89b2f2879204398d9047a9924 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Sun, 7 Mar 2021 04:07:32 -0500 -Subject: [PATCH 1/8] Skip test_encoding_gh601 on big-endian machines. - -Signed-off-by: Elliott Sales de Andrade ---- - dask/dataframe/io/tests/test_csv.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/dask/dataframe/io/tests/test_csv.py b/dask/dataframe/io/tests/test_csv.py -index a0924d2a..faaf6444 100644 ---- a/dask/dataframe/io/tests/test_csv.py -+++ b/dask/dataframe/io/tests/test_csv.py -@@ -4,6 +4,7 @@ import gzip - import os - import warnings - from io import BytesIO, StringIO -+import sys - from unittest import mock - - import pytest -@@ -1158,6 +1159,7 @@ def test_read_csv_with_datetime_index_partitions_n(): - xfail_pandas_100 = pytest.mark.xfail(reason="https://github.com/dask/dask/issues/5787") - - -+@pytest.mark.skipif(sys.byteorder == 'big', reason='Broken on big-endian machines') - @pytest.mark.parametrize( - "encoding", - [ --- -2.43.0 - diff --git a/0002-Skip-coverage-testing.patch b/0002-Skip-coverage-testing.patch index ba64a5a..b22dac1 100644 --- a/0002-Skip-coverage-testing.patch +++ b/0002-Skip-coverage-testing.patch @@ -16,8 +16,8 @@ index 34952022..ab317716 100644 "skip_with_pyarrow_strings: Tests that should be skipped when pyarrow string conversion is turned on", "xfail_with_pyarrow_strings: Tests that should be xfailed when pyarrow string conversion is turned on", ] --addopts = "-v -rsxfE --durations=10 --color=yes --cov-config=pyproject.toml" -+addopts = "-v -rsxfE --durations=10 --color=yes" +-addopts = "-v -rsfE --durations=10 --color=yes --cov-config=pyproject.toml" ++addopts = "-v -rsfE --durations=10 --color=yes" filterwarnings = [ "error:::dask[.*]", "error:::pandas[.*]", diff --git a/0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch b/0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch new file mode 100644 index 0000000..2a63911 --- /dev/null +++ b/0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch @@ -0,0 +1,31 @@ +From 10f732134ed02eed55e89048df03d74e5c0becc8 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Mon, 17 Jun 2024 15:24:52 -0700 +Subject: [PATCH 2/2] test_derived_from: don't expect extra docstring to be + indented + +In Python 3.13, it is not any more: +https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes +"Compiler now strip indents from docstrings." + +Signed-off-by: Adam Williamson +--- + dask/tests/test_utils.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dask/tests/test_utils.py b/dask/tests/test_utils.py +index 328705f7f..8aba2b3f3 100644 +--- a/dask/tests/test_utils.py ++++ b/dask/tests/test_utils.py +@@ -600,7 +600,7 @@ def test_derived_from(): + assert "not supported" in b_arg.lower() + assert "dask" in b_arg.lower() + +- assert " extra docstring\n\n" in Zap.f.__doc__ ++ assert "extra docstring\n\n" in Zap.f.__doc__ + + + @pytest.mark.parametrize( +-- +2.45.2 + diff --git a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch b/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch deleted file mode 100644 index f5bf14d..0000000 --- a/0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch +++ /dev/null @@ -1,41 +0,0 @@ -From e0158048423c562e20479a2f8f8bd749a15b84f6 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Thu, 20 Jul 2023 00:05:48 -0400 -Subject: [PATCH 3/8] TST: Increase maximum for sizeof test to pass 32-bit - -In that case, the result is 1244, which is ~2.6 * `sys.sizeof` (476), -slightly over the 2 used in the existing test. - -The minimum size of the sparse matrix also appears to be a bit smaller -as well. - -Signed-off-by: Elliott Sales de Andrade ---- - dask/tests/test_sizeof.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dask/tests/test_sizeof.py b/dask/tests/test_sizeof.py -index ef3d6ba3..40c479b9 100644 ---- a/dask/tests/test_sizeof.py -+++ b/dask/tests/test_sizeof.py -@@ -81,7 +81,7 @@ def test_pandas_multiindex(): - index = pd.MultiIndex.from_product([range(50), list("abcdefghilmnopqrstuvwxyz")]) - actual_size = sys.getsizeof(index) - -- assert 0.5 * actual_size < sizeof(index) < 2 * actual_size -+ assert 0.5 * actual_size < sizeof(index) < 3 * actual_size - assert isinstance(sizeof(index), int) - - -@@ -104,7 +104,7 @@ def test_sparse_matrix(): - assert sizeof(sp.tocoo()) >= 240 - assert sizeof(sp.tocsc()) >= 232 - assert sizeof(sp.tocsr()) >= 232 -- assert sizeof(sp.todok()) >= 188 -+ assert sizeof(sp.todok()) >= 184 - assert sizeof(sp.tolil()) >= 204 - - --- -2.43.0 - diff --git a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch b/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch deleted file mode 100644 index ef78a7f..0000000 --- a/0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9c00d60eb22e91bd6920b472c458f277f1dec964 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Sat, 19 Aug 2023 16:49:33 -0400 -Subject: [PATCH 4/8] Fix test_pandas_timestamp_overflow_pyarrow condition - -The new behavior in pyarrow only occurs with Pandas 2.0 as well. - -Signed-off-by: Elliott Sales de Andrade ---- - dask/dataframe/io/tests/test_parquet.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/dask/dataframe/io/tests/test_parquet.py b/dask/dataframe/io/tests/test_parquet.py -index 8a854ca4..e838d20d 100644 ---- a/dask/dataframe/io/tests/test_parquet.py -+++ b/dask/dataframe/io/tests/test_parquet.py -@@ -3323,13 +3323,13 @@ def test_pandas_timestamp_overflow_pyarrow(tmpdir): - table, f"{tmpdir}/file.parquet", use_deprecated_int96_timestamps=False - ) - -- if pyarrow_version < parse_version("13.0.0.dev"): -+ if pyarrow_version.major >= 13 and PANDAS_GE_200: -+ dd.read_parquet(str(tmpdir)).compute() -+ else: - # This will raise by default due to overflow - with pytest.raises(pa.lib.ArrowInvalid) as e: - dd.read_parquet(str(tmpdir)).compute() - assert "out of bounds" in str(e.value) -- else: -- dd.read_parquet(str(tmpdir)).compute() - - from dask.dataframe.io.parquet.arrow import ArrowDatasetEngine - --- -2.43.0 - diff --git a/0007-Ignore-NumPy-warnings-from-Pandas.patch b/0007-Ignore-NumPy-warnings-from-Pandas.patch deleted file mode 100644 index a9762c5..0000000 --- a/0007-Ignore-NumPy-warnings-from-Pandas.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9a6c7b4dcf99d9638a0a7d8f5253cbf9ee494095 Mon Sep 17 00:00:00 2001 -From: James Bourbeau -Date: Mon, 22 May 2023 12:53:20 -0500 -Subject: [PATCH 7/8] Ignore NumPy warnings from Pandas - -Signed-off-by: Elliott Sales de Andrade ---- - pyproject.toml | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/pyproject.toml b/pyproject.toml -index 79f36f2c..e10e5819 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -141,6 +141,11 @@ filterwarnings = [ - # https://pandas.pydata.org/docs/dev/whatsnew/v1.5.0.html#using-group-keys-with-transformers-in-groupby-apply - "ignore:Not prepending group keys:FutureWarning", - "ignore:.*:dask.tests.warning_aliases.RemovedIn20Warning", -+ # This is coming from pandas use of np.find_common_type -+ # See https://github.com/pandas-dev/pandas/issues/53236 -+ "ignore:np.find_common_type is deprecated:DeprecationWarning", -+ "ignore:`cumproduct` is deprecated:DeprecationWarning", -+ "ignore:`product` is deprecated:DeprecationWarning", - "ignore:When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas:FutureWarning", - 'ignore:Passing a BlockManager to DataFrame is deprecated and will raise in a future version. Use public APIs instead:DeprecationWarning', # https://github.com/apache/arrow/issues/35081 - 'ignore:The previous implementation of stack is deprecated and will be removed in a future version of pandas\.:FutureWarning', --- -2.43.0 - diff --git a/0008-TST-Add-missing-skip-for-pyarrow.patch b/0008-TST-Add-missing-skip-for-pyarrow.patch deleted file mode 100644 index e506e05..0000000 --- a/0008-TST-Add-missing-skip-for-pyarrow.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5077c2dc914761df04fe853e9261cd33a733e3df Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Thu, 29 Feb 2024 19:30:14 -0500 -Subject: [PATCH 8/8] TST: Add missing skip for pyarrow - -Signed-off-by: Elliott Sales de Andrade ---- - dask/dataframe/io/tests/test_parquet.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dask/dataframe/io/tests/test_parquet.py b/dask/dataframe/io/tests/test_parquet.py -index e838d20d..05f0ac8e 100644 ---- a/dask/dataframe/io/tests/test_parquet.py -+++ b/dask/dataframe/io/tests/test_parquet.py -@@ -4934,6 +4934,7 @@ def test_read_parquet_lists_not_converting(tmpdir): - assert_eq(df, result) - - -+@PYARROW_MARK - @pytest.mark.skipif(not PANDAS_GE_200, reason="Requires pandas>=2.0") - def test_parquet_string_roundtrip(tmpdir): - pdf = pd.DataFrame({"a": ["a", "b", "c"]}, dtype="string[pyarrow]") --- -2.43.0 - diff --git a/python-dask.spec b/python-dask.spec index 0b6b7b0..af5b56a 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -10,33 +10,21 @@ %global debug_package %{nil} Name: python-%{srcname} -Version: 2024.2.1 -%global tag 2024.2.1 +Version: 2024.6.0 +%global tag 2024.6.0 Release: %autorelease Summary: Parallel PyData with Task Scheduling License: BSD-3-Clause URL: https://github.com/dask/dask Source0: %{pypi_source %{srcname}} -# https://github.com/dask/dask/issues/6725 -Patch: 0001-Skip-test_encoding_gh601-on-big-endian-machines.patch # Fedora-specific patch. Patch: 0002-Skip-coverage-testing.patch -# Drop after dropping 32-bit support. -# https://github.com/dask/dask/pull/10971 -Patch: 0003-TST-Increase-maximum-for-sizeof-test-to-pass-32-bit.patch -# https://github.com/dask/dask/pull/10451 -Patch: 0004-Fix-test_pandas_timestamp_overflow_pyarrow-condition.patch -# https://github.com/dask/dask/issues/10423 -# https://github.com/dask/dask/pull/10970 -Patch: 0005-Force-initializing-the-random-seed-with-the-same-byt.patch Patch: 0006-Allow-older-versioneer.patch -# Ignore warnings from Pandas. -# Upstream had https://github.com/dask/dask/pull/10307 but reverted it because -# a new Pandas was released that fixed the warning, but we don't have it yet. -Patch: 0007-Ignore-NumPy-warnings-from-Pandas.patch -# https://github.com/dask/dask/pull/10969 -Patch: 0008-TST-Add-missing-skip-for-pyarrow.patch +# https://github.com/dask/dask/pull/11185 +# Fix issues on Python 3.13 +Patch: 0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch +Patch: 0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch # Stop building on i686 # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval @@ -134,6 +122,14 @@ Documentation for dask. %autosetup -n %{srcname}-%{version} -p1 # we don't use pre-commit when running tests sed -i '/"pre-commit"/d' setup.py +%ifarch s390x +# arrow tests all fail on s390x, it's not at all BE-safe +# the exclusion of arrow as a build dep on s390x above is meant to +# ensure these tests get skipped, but dask-expr requires arrow, so it +# it gets pulled into the build env anyway +# https://github.com/dask/dask/issues/11186 +rm -f dask/dataframe/io/tests/test_parquet.py +%endif %generate_buildrequires diff --git a/sources b/sources index 2045654..825c7bd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dask-2024.2.1.tar.gz) = 2f547537365bdb09e0638c4552dee3d5970888208cde808154594c4fe78997c204e40ff12200298375b357e95e89e825251ddc9a36a8280aba83330129a65831 +SHA512 (dask-2024.6.0.tar.gz) = b8397ea88c4a315a111806efc0f91c0601dc4a33219c0a6692b1d5a172cc352ee84e61f2af1340e07d26a8dc487b45cee995acb69987a9a814409d6b6b841508 From e31444d0f773ff810e178fd78831a89bb30f46e4 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 17 Jun 2024 16:53:24 -0700 Subject: [PATCH 11/16] Strip tests from the installed files It's a waste of space, plus it causes noarch inconsistency (so, failed build) now we're wiping one of these in %prep on s390x. --- python-dask.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-dask.spec b/python-dask.spec index af5b56a..8ff7121 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -152,6 +152,8 @@ rm -rf html/.{doctrees,buildinfo} %install %pyproject_install +# we do not want to ship test files +find %{buildroot}%{python3_sitelib}/%{srcname} -type d -name tests -print0 | xargs -0 rm -rf %pyproject_save_files %{srcname} From 0835ce0dbcf188b6794169fd1152002c76b4c01a Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 17 Jun 2024 19:54:29 -0700 Subject: [PATCH 12/16] Put tests back in the package, hack around s390x issue Well, this is awful, but I can't find anything better. As the tests are part of the library, we can't really run them out of the source tree but against the installed library as we'd like to, and as we usually do for sane projects. We can't really remove them from the installed library and run the tests out of the source tree because we have to set PYTHONPATH to do that and it means we're not testing the installed copy of the lib, plus it causes other issues. So put them back in, but do an ugly hack to remove a single test file when running the tests on s390x (as all the tests in it fail, they are not big-endian safe), but put it back in the installed package so we don't have an inconsistency between the noarch package as built on s390x and the noarch package as built on other arches. Sigh. --- python-dask.spec | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/python-dask.spec b/python-dask.spec index 8ff7121..c715db5 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -122,14 +122,6 @@ Documentation for dask. %autosetup -n %{srcname}-%{version} -p1 # we don't use pre-commit when running tests sed -i '/"pre-commit"/d' setup.py -%ifarch s390x -# arrow tests all fail on s390x, it's not at all BE-safe -# the exclusion of arrow as a build dep on s390x above is meant to -# ensure these tests get skipped, but dask-expr requires arrow, so it -# it gets pulled into the build env anyway -# https://github.com/dask/dask/issues/11186 -rm -f dask/dataframe/io/tests/test_parquet.py -%endif %generate_buildrequires @@ -152,8 +144,6 @@ rm -rf html/.{doctrees,buildinfo} %install %pyproject_install -# we do not want to ship test files -find %{buildroot}%{python3_sitelib}/%{srcname} -type d -name tests -print0 | xargs -0 rm -rf %pyproject_save_files %{srcname} @@ -243,8 +233,24 @@ pytest_args=( --pyargs dask ) +%ifarch s390x +# arrow tests all fail on s390x, it's not at all BE-safe +# the exclusion of arrow as a build dep on s390x above is meant to +# ensure these tests get skipped, but dask-expr requires arrow, so it +# it gets pulled into the build env anyway +# https://github.com/dask/dask/issues/11186 +# this is hideous because the tests are part of the library, it would +# be much less ugly if the tests were separate like in any sane project +mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX +%endif + cd docs -%{pytest} "${pytest_args[@]}" +%{pytest} "${pytest_args[@]}" -k "test_derived_from" + +%ifarch s390x +mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py +%endif + %files -n python3-%{srcname} -f %{pyproject_files} %doc README.rst From 92c93013bd8c3d63a67193193f54888a1aa368d6 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 20 Jun 2024 22:17:39 -0400 Subject: [PATCH 13/16] Update to latest version (#2293520) Also, simplify the spec with: * Dropping armhv7l and i686 conditions * Dropping old test skips that seem to have been fixed * Use pyproject macro's `-l` license option * Drop patch for old versioneer, as the new one is available --- .gitignore | 1 + ...13-exception-type-change-in-unpack_c.patch | 52 -------- ... 0001-Remove-extra-test-dependencies.patch | 28 +++-- ...m-don-t-expect-extra-docstring-to-be.patch | 31 ----- ...ng-the-random-seed-with-the-same-byt.patch | 27 ----- 0006-Allow-older-versioneer.patch | 24 ---- python-dask.spec | 112 +++--------------- sources | 2 +- 8 files changed, 38 insertions(+), 239 deletions(-) delete mode 100644 0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch rename 0002-Skip-coverage-testing.patch => 0001-Remove-extra-test-dependencies.patch (54%) delete mode 100644 0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch delete mode 100644 0005-Force-initializing-the-random-seed-with-the-same-byt.patch delete mode 100644 0006-Allow-older-versioneer.patch diff --git a/.gitignore b/.gitignore index 7c05d95..24201b8 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,4 @@ /dask-2024.1.1.tar.gz /dask-2024.2.1.tar.gz /dask-2024.6.0.tar.gz +/dask-2024.6.2.tar.gz diff --git a/0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch b/0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch deleted file mode 100644 index 140955a..0000000 --- a/0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 5ddb00ec0f8ab33cb82e7fc6c396e40bd500ed0e Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Mon, 17 Jun 2024 15:17:12 -0700 -Subject: [PATCH 1/2] Handle Python 3.13 exception type change in - `unpack_collections` - -In Python 3.13, `dataclasses.replace()` now raises a `TypeError` -rather than a `ValueError` when a field is declared with -init=False (or when an init variable is not specified). We were -relying on it raising a `ValueError` in this case. This fix -should keep dask's interface consistent across Python versions. - -Signed-off-by: Adam Williamson ---- - dask/delayed.py | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -diff --git a/dask/delayed.py b/dask/delayed.py -index 1c63a39ef..350e89fbf 100644 ---- a/dask/delayed.py -+++ b/dask/delayed.py -@@ -141,16 +141,17 @@ def unpack_collections(expr): - if hasattr(expr, f.name) - } - replace(expr, **_fields) -- except TypeError as e: -- raise TypeError( -- f"Failed to unpack {typ} instance. " -- "Note that using a custom __init__ is not supported." -- ) from e -- except ValueError as e: -- raise ValueError( -- f"Failed to unpack {typ} instance. " -- "Note that using fields with `init=False` are not supported." -- ) from e -+ except (TypeError, ValueError) as e: -+ if isinstance(e, ValueError) or "is declared with init=False" in str(e): -+ raise ValueError( -+ f"Failed to unpack {typ} instance. " -+ "Note that using fields with `init=False` are not supported." -+ ) from e -+ else: -+ raise TypeError( -+ f"Failed to unpack {typ} instance. " -+ "Note that using a custom __init__ is not supported." -+ ) from e - return (apply, typ, (), (dict, args)), collections - - if is_namedtuple_instance(expr): --- -2.45.2 - diff --git a/0002-Skip-coverage-testing.patch b/0001-Remove-extra-test-dependencies.patch similarity index 54% rename from 0002-Skip-coverage-testing.patch rename to 0001-Remove-extra-test-dependencies.patch index b22dac1..ba2acea 100644 --- a/0002-Skip-coverage-testing.patch +++ b/0001-Remove-extra-test-dependencies.patch @@ -1,18 +1,30 @@ -From 8cf6b4224a56b0a05fc5fe3bd75d7979d102c610 Mon Sep 17 00:00:00 2001 +From f72b9ced312c92900ed7903ec07aefde35e22489 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade -Date: Sun, 7 May 2023 23:13:59 -0400 -Subject: [PATCH 2/8] Skip coverage testing +Date: Thu, 20 Jun 2024 21:08:07 -0400 +Subject: [PATCH] Remove extra test dependencies Signed-off-by: Elliott Sales de Andrade --- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + pyproject.toml | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml -index 34952022..ab317716 100644 +index 1d036cbb..e9600551 100644 --- a/pyproject.toml +++ b/pyproject.toml -@@ -127,7 +127,7 @@ markers = [ +@@ -75,11 +75,9 @@ complete = [ + test = [ + "pandas[test]", + "pytest", +- "pytest-cov", + "pytest-rerunfailures", + "pytest-timeout", + "pytest-xdist", +- "pre-commit", + ] + + [project.entry-points."dask.array.backends"] +@@ -128,7 +126,7 @@ markers = [ "skip_with_pyarrow_strings: Tests that should be skipped when pyarrow string conversion is turned on", "xfail_with_pyarrow_strings: Tests that should be xfailed when pyarrow string conversion is turned on", ] @@ -22,5 +34,5 @@ index 34952022..ab317716 100644 "error:::dask[.*]", "error:::pandas[.*]", -- -2.43.0 +2.45.2 diff --git a/0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch b/0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch deleted file mode 100644 index 2a63911..0000000 --- a/0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 10f732134ed02eed55e89048df03d74e5c0becc8 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Mon, 17 Jun 2024 15:24:52 -0700 -Subject: [PATCH 2/2] test_derived_from: don't expect extra docstring to be - indented - -In Python 3.13, it is not any more: -https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes -"Compiler now strip indents from docstrings." - -Signed-off-by: Adam Williamson ---- - dask/tests/test_utils.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dask/tests/test_utils.py b/dask/tests/test_utils.py -index 328705f7f..8aba2b3f3 100644 ---- a/dask/tests/test_utils.py -+++ b/dask/tests/test_utils.py -@@ -600,7 +600,7 @@ def test_derived_from(): - assert "not supported" in b_arg.lower() - assert "dask" in b_arg.lower() - -- assert " extra docstring\n\n" in Zap.f.__doc__ -+ assert "extra docstring\n\n" in Zap.f.__doc__ - - - @pytest.mark.parametrize( --- -2.45.2 - diff --git a/0005-Force-initializing-the-random-seed-with-the-same-byt.patch b/0005-Force-initializing-the-random-seed-with-the-same-byt.patch deleted file mode 100644 index db05dee..0000000 --- a/0005-Force-initializing-the-random-seed-with-the-same-byt.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 741c375b14edcc5b32d1641b11a39d8ee5679496 Mon Sep 17 00:00:00 2001 -From: Diane Trout -Date: Thu, 29 Feb 2024 19:39:26 -0500 -Subject: [PATCH 5/8] Force initializing the random seed with the same byte - order interpretation as on x86 - -Signed-off-by: Elliott Sales de Andrade ---- - dask/utils.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dask/utils.py b/dask/utils.py -index 0e974fe4..4dcfca42 100644 ---- a/dask/utils.py -+++ b/dask/utils.py -@@ -557,7 +557,7 @@ def random_state_data(n: int, random_state=None) -> list: - random_state = np.random.RandomState(random_state) - - random_data = random_state.bytes(624 * n * 4) # `n * 624` 32-bit integers -- l = list(np.frombuffer(random_data, dtype=np.uint32).reshape((n, -1))) -+ l = list(np.frombuffer(random_data, dtype=" -Date: Sat, 25 Nov 2023 20:22:50 -0500 -Subject: [PATCH 6/8] Allow older versioneer - -Signed-off-by: Elliott Sales de Andrade ---- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index ab317716..79f36f2c 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -1,5 +1,5 @@ - [build-system] --requires = ["setuptools>=62.6", "versioneer[toml]==0.29"] -+requires = ["setuptools>=62.6", "versioneer[toml]>=0.28"] - build-backend = "setuptools.build_meta" - - [project] --- -2.43.0 - diff --git a/python-dask.spec b/python-dask.spec index c715db5..6a21e8d 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -3,15 +3,15 @@ # Requires distributed, which is a loop. # Also, some tests require packages that require dask itself. # Force bootstrap for package review. -%bcond_without bootstrap +%bcond bootstrap 1 # We have an arched package to detect arch-dependent issues in dependencies, # but all of the installable RPMs are noarch and there is no compiled code. %global debug_package %{nil} Name: python-%{srcname} -Version: 2024.6.0 -%global tag 2024.6.0 +Version: 2024.6.2 +%global tag 2024.6.2 Release: %autorelease Summary: Parallel PyData with Task Scheduling @@ -19,12 +19,7 @@ License: BSD-3-Clause URL: https://github.com/dask/dask Source0: %{pypi_source %{srcname}} # Fedora-specific patch. -Patch: 0002-Skip-coverage-testing.patch -Patch: 0006-Allow-older-versioneer.patch -# https://github.com/dask/dask/pull/11185 -# Fix issues on Python 3.13 -Patch: 0001-Handle-Python-3.13-exception-type-change-in-unpack_c.patch -Patch: 0002-test_derived_from-don-t-expect-extra-docstring-to-be.patch +Patch: 0001-Remove-extra-test-dependencies.patch # Stop building on i686 # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval @@ -47,24 +42,16 @@ BuildRequires: python3dist(scikit-image) BuildRequires: python3dist(xarray) %endif # Optional test requirements. -# Fastavro does not support 32 bit architectures and is ExcludeArch: -# https://bugzilla.redhat.com/show_bug.cgi?id=1943932 -%ifnarch %{arm32} %{ix86} BuildRequires: python3dist(fastavro) -%endif BuildRequires: python3dist(h5py) BuildRequires: python3dist(psutil) -# libarrow does not support 32 bit architectures and is ExcludeArch. -# Tests don't pass on s390x either. -%ifnarch %{arm} %{ix86} s390x +# libarrow tests don't pass on s390x either. +%ifnarch s390x BuildRequires: python3dist(pyarrow) %endif BuildRequires: python3dist(requests) BuildRequires: python3dist(sqlalchemy) -# tables does not support 32 bit architectures and is ExcludeArch. -%ifnarch %{ix86} BuildRequires: python3dist(tables) -%endif BuildRequires: python3dist(zarr) Recommends: python3-%{srcname}+array = %{version}-%{release} @@ -120,12 +107,10 @@ Documentation for dask. %prep %autosetup -n %{srcname}-%{version} -p1 -# we don't use pre-commit when running tests -sed -i '/"pre-commit"/d' setup.py %generate_buildrequires -%pyproject_buildrequires -r -x test,array,bag,dataframe,delayed +%pyproject_buildrequires -x test,array,bag,dataframe,delayed %if %{without bootstrap} %pyproject_buildrequires -x distributed %endif @@ -145,68 +130,10 @@ rm -rf html/.{doctrees,buildinfo} %install %pyproject_install -%pyproject_save_files %{srcname} +%pyproject_save_files -l %{srcname} %check -%ifarch arm -# Is there a way to do this in one line? -%global have_arm 1 -%endif - -%if 0%{?__isa_bits} == 32 -# read_sql_query with meta converts dtypes from 32 to 64. -# https://github.com/dask/dask/issues/8620 - -# > tm.assert_frame_equal( -# a, b, check_names=check_names, check_dtype=check_dtype, **kwargs -# E AssertionError: Attributes of DataFrame.iloc[:, 1] (column name="age") are different -# E -# E Attribute "dtype" are different -# E [left]: int32 -# E [right]: int64 -# dask/dataframe/utils.py:555: AssertionError -k="${k-}${k+ and }not test_query_with_meta" -%endif - -%ifarch ppc64le -# TODO: Should this be reported upstream? Is it a dask issue, or a numpy one? -# Possibly related to -# https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition? - -# > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg -# E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount -# E assert False -# E + where False = allclose(array([0.12586355-0.09957204j, 0.20256483+0.04098342j,\n 0.05781123-0.03588671j, 0.01135963-0.03334219j,\n 0.03747771+0.07495994j, 0.2106574 -0.0363521j ,\n 0.16352091+0.03782915j, 0.1381678 -0.06815128j,\n 0.03781295-0.04011523j, 0.01493269+0.07780643j]), array([0.12559072-0.07164038j, 0.20256483+0.05438578j,\n 0.05781123-0.03588671j, 0.01135963-0.03334219j,\n 0.03747771+0.07495994j, 0.2106574 -0.0363521j ,\n 0.16352091+0.03782915j, 0.1381678 -0.06815128j,\n 0.03781295-0.04011523j, 0.01493269+0.07780643j]), equal_nan=True, **{}) -# dask/array/utils.py:361: AssertionError -k="${k-}${k+ and }not test_lstsq[100-10-10-True]" -# > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg -# E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount -# E assert False -# E + where False = allclose(array([ 0.20168675+0.08857556j, 0.144233 -0.19173091j,\n -0.03367557-0.08053959j, 0.04108325-0.24648308j,\n -0.01844576+0.00841932j, 0.29652375+0.05682199j,\n 0.05551828+0.20156798j, -0.08409592+0.02354949j,\n 0.09848743-0.00748637j, 0.22889193-0.07372773j]), array([ 0.20067551+0.2642591j , 0.144233 -0.18573336j,\n -0.03367557-0.08053959j, 0.04108325-0.24648308j,\n -0.01844576+0.00841932j, 0.29652375+0.05682199j,\n 0.05551828+0.20156798j, -0.08409592+0.02354949j,\n 0.09848743-0.00748637j, 0.22889193-0.07372773j]), equal_nan=True, **{}) -# dask/array/utils.py:361: AssertionError -k="${k-}${k+ and }not test_lstsq[20-10-5-True]" - -# test_vdot fails with NumPy 1.19.0 -# https://github.com/dask/dask/issues/6406 -# -# vdot returns incorrect results on ppc64le -# https://github.com/numpy/numpy/issues/17087 - -# > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg -# E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount -# E assert False -# E + where False = allclose((0.38772781971416226-0.6851997484294434j), (0.38772781971416226-0.306563166009585j), equal_nan=True, **{}) -# dask/array/utils.py:361: AssertionError -k="${k-}${k+ and }not test_vdot[shape0-chunks0]" -# > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg -# E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount -# E assert False -# E + where False = allclose((0.38772781971416226-0.6851997484294434j), (0.38772781971416226-0.306563166009585j), equal_nan=True, **{}) -# dask/array/utils.py:361: AssertionError -k="${k-}${k+ and }not test_vdot[shape1-chunks1]" -%endif - # This test compares against files in .github/. It does not work on the PyPI # sdist, and is only relevant to upstream CI anyway. # @@ -214,22 +141,17 @@ k="${k-}${k+ and }not test_vdot[shape1-chunks1]" # https://github.com/dask/dask/issues/8499 k="${k-}${k+ and }not test_development_guidelines_matches_ci" -# This test shows excess memory usage on Python 3.12 -# https://github.com/dask/dask/issues/10418 -k="${k-}${k+ and }not test_division_or_partition" - pytest_args=( -m 'not network' - -n %[0%{?have_arm}?"2":"auto"] - -%ifarch %{ix86} - # Ignore 32-bit warning - -W 'ignore:invalid value encountered in cast:RuntimeWarning' -%endif + -n "auto" -k "${k-}" + # Upstream uses 'thread' for Windows, but that kills the whole session, and + # we'd like to see exactly which tests fail. + --timeout_method=signal + --pyargs dask ) @@ -239,13 +161,11 @@ pytest_args=( # ensure these tests get skipped, but dask-expr requires arrow, so it # it gets pulled into the build env anyway # https://github.com/dask/dask/issues/11186 -# this is hideous because the tests are part of the library, it would -# be much less ugly if the tests were separate like in any sane project mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX %endif cd docs -%{pytest} "${pytest_args[@]}" -k "test_derived_from" +%{pytest} "${pytest_args[@]}" %ifarch s390x mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py @@ -254,13 +174,13 @@ mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX %{bu %files -n python3-%{srcname} -f %{pyproject_files} %doc README.rst -%license LICENSE.txt dask/array/NUMPY_LICENSE.txt +%license dask/array/NUMPY_LICENSE.txt %{_bindir}/dask %if %{without bootstrap} %files -n python-%{srcname}-doc %doc html -%license LICENSE.txt dask/array/NUMPY_LICENSE.txt +%license dask/array/NUMPY_LICENSE.txt %endif diff --git a/sources b/sources index 825c7bd..790b27d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dask-2024.6.0.tar.gz) = b8397ea88c4a315a111806efc0f91c0601dc4a33219c0a6692b1d5a172cc352ee84e61f2af1340e07d26a8dc487b45cee995acb69987a9a814409d6b6b841508 +SHA512 (dask-2024.6.2.tar.gz) = d6004429672c08971b1b3ef6fe0a413d7ce8ad5af9f65c7d1fceb612be0acb801739b990a7ee7949bb801d654f64f0bb11641d289378f9e5307896fe238db261 From 01b3ebe23ce87d8a5434f88b2a417fcb0b0a7bc7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 20 Jun 2024 23:09:54 -0400 Subject: [PATCH 14/16] Simplify s390x conditional testing [skip changelog] --- python-dask.spec | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/python-dask.spec b/python-dask.spec index 6a21e8d..9eda715 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -148,6 +148,15 @@ pytest_args=( -k "${k-}" +# arrow tests all fail on s390x, it's not at all BE-safe +# the exclusion of arrow as a build dep on s390x above is meant to +# ensure these tests get skipped, but dask-expr requires arrow, so it +# it gets pulled into the build env anyway +# https://github.com/dask/dask/issues/11186 +%ifarch s390x + --ignore %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py +%endif + # Upstream uses 'thread' for Windows, but that kills the whole session, and # we'd like to see exactly which tests fail. --timeout_method=signal @@ -155,23 +164,9 @@ pytest_args=( --pyargs dask ) -%ifarch s390x -# arrow tests all fail on s390x, it's not at all BE-safe -# the exclusion of arrow as a build dep on s390x above is meant to -# ensure these tests get skipped, but dask-expr requires arrow, so it -# it gets pulled into the build env anyway -# https://github.com/dask/dask/issues/11186 -mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX -%endif - cd docs %{pytest} "${pytest_args[@]}" -%ifarch s390x -mv %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/XXparquetXX %{buildroot}%{python3_sitelib}/%{srcname}/dataframe/io/tests/test_parquet.py -%endif - - %files -n python3-%{srcname} -f %{pyproject_files} %doc README.rst %license dask/array/NUMPY_LICENSE.txt From 30f786ee653d849a71ffdc78b6463a7e3cb06f15 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 21 Jun 2024 20:59:52 -0400 Subject: [PATCH 15/16] Manually define the extras metapackages so they can be noarch - Fixes RHBZ#2293727 --- python-dask.spec | 73 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/python-dask.spec b/python-dask.spec index 9eda715..b05e4b2 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -84,9 +84,78 @@ Provides: bundled(numpy) Dask is a flexible parallel computing library for analytics. -%pyproject_extras_subpkg -n python3-%{srcname} array bag dataframe delayed +# Based on (but with BuildArch: noarch): +# %%pyproject_extras_subpkg -n python3-%%{srcname} array bag dataframe delayed +# +# Extras subpackages are arched, they should not be +# https://bugzilla.redhat.com/show_bug.cgi?id=2293727 +# +# Further discussion is in +# https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/174. + +%package -n python3-%{srcname}+array +Summary: Metapackage for python3-%{srcname}: array extras +Requires: python3-%{srcname} = %{version}-%{release} + +BuildArch: noarch + +%description -n python3-%{srcname}+array +This is a metapackage bringing in array extras requires for python3-%{srcname}. +It makes sure the dependencies are installed. + +%files -n python3-%{srcname}+array -f %{_pyproject_ghost_distinfo} + +%package -n python3-%{srcname}+bag +Summary: Metapackage for python3-%{srcname}: bag extras +Requires: python3-%{srcname} = %{version}-%{release} + +BuildArch: noarch + +%description -n python3-%{srcname}+bag +This is a metapackage bringing in bag extras requires for python3-%{srcname}. +It makes sure the dependencies are installed. + +%files -n python3-%{srcname}+bag -f %{_pyproject_ghost_distinfo} + +%package -n python3-%{srcname}+dataframe +Summary: Metapackage for python3-%{srcname}: dataframe extras +Requires: python3-%{srcname} = %{version}-%{release} + +BuildArch: noarch + +%description -n python3-%{srcname}+dataframe +This is a metapackage bringing in dataframe extras requires for python3-%{srcname}. +It makes sure the dependencies are installed. + +%files -n python3-%{srcname}+dataframe -f %{_pyproject_ghost_distinfo} + +%package -n python3-%{srcname}+delayed +Summary: Metapackage for python3-%{srcname}: delayed extras +Requires: python3-%{srcname} = %{version}-%{release} + +BuildArch: noarch + +%description -n python3-%{srcname}+delayed +This is a metapackage bringing in delayed extras requires for python3-%{srcname}. +It makes sure the dependencies are installed. + +%files -n python3-%{srcname}+delayed -f %{_pyproject_ghost_distinfo} + %if %{without bootstrap} -%pyproject_extras_subpkg distributed +# Based on (but with BuildArch: noarch): +# %%pyproject_extras_subpkg -n python3-%%{srcname} distributed +# (see comments for the other extras metapackages, above) +%package -n python3-%{srcname}+distributed +Summary: Metapackage for python3-%{srcname}: distributed extras +Requires: python3-%{srcname} = %{version}-%{release} + +BuildArch: noarch + +%description -n python3-%{srcname}+distributed +This is a metapackage bringing in distributed extras requires for python3-%{srcname}. +It makes sure the dependencies are installed. + +%files -n python3-%{srcname}+distributed -f %{_pyproject_ghost_distinfo} %endif From 108bee32a69ff9c077b60e1a946e809fafb4a6d1 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 26 Jun 2024 18:04:34 -0400 Subject: [PATCH 16/16] Disable bootstrap mode --- python-dask.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/python-dask.spec b/python-dask.spec index b05e4b2..9662412 100644 --- a/python-dask.spec +++ b/python-dask.spec @@ -3,7 +3,9 @@ # Requires distributed, which is a loop. # Also, some tests require packages that require dask itself. # Force bootstrap for package review. -%bcond bootstrap 1 +%bcond bootstrap 0 +# We don't have all dependencies available yet. +%bcond docs 0 # We have an arched package to detect arch-dependent issues in dependencies, # but all of the installable RPMs are noarch and there is no compiled code. @@ -159,7 +161,7 @@ It makes sure the dependencies are installed. %endif -%if %{without bootstrap} +%if %{with docs} %package -n python-%{srcname}-doc Summary: dask documentation @@ -188,7 +190,7 @@ Documentation for dask. %build %pyproject_wheel -%if %{without bootstrap} +%if %{with docs} # generate html docs PYTHONPATH=${PWD} sphinx-build-3 docs/source html # remove the sphinx-build leftovers @@ -241,7 +243,7 @@ cd docs %license dask/array/NUMPY_LICENSE.txt %{_bindir}/dask -%if %{without bootstrap} +%if %{with docs} %files -n python-%{srcname}-doc %doc html %license dask/array/NUMPY_LICENSE.txt