Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-numpy for openSUSE:Factory checked in at 2024-04-03 17:18:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-numpy (Old) and /work/SRC/openSUSE:Factory/.python-numpy.new.1905 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-numpy" Wed Apr 3 17:18:42 2024 rev:126 rq:1164093 version:1.26.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-numpy/python-numpy.changes 2024-01-17 22:14:49.913965478 +0100 +++ /work/SRC/openSUSE:Factory/.python-numpy.new.1905/python-numpy.changes 2024-04-03 17:19:02.850470885 +0200 @@ -1,0 +2,8 @@ +Thu Mar 28 13:54:34 UTC 2024 - Fabian Vogt <fv...@suse.com> + +- Add patch to fix detection of some features: + * 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch +- Add patch to fix test failure on some platforms (boo#1221902): + * 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch + +------------------------------------------------------------------- New: ---- 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch BETA DEBUG BEGIN: New:- Add patch to fix test failure on some platforms (boo#1221902): * 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch New:- Add patch to fix detection of some features: * 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch - Add patch to fix test failure on some platforms (boo#1221902): BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-numpy.spec ++++++ --- /var/tmp/diff_new_pack.W4U3Cu/_old 2024-04-03 17:19:04.046514954 +0200 +++ /var/tmp/diff_new_pack.W4U3Cu/_new 2024-04-03 17:19:04.050515102 +0200 @@ -1,5 +1,5 @@ # -# spec file +# spec file for package python-numpy # # Copyright (c) 2024 SUSE LLC # @@ -86,6 +86,10 @@ Patch0: numpy-buildfix.patch # PATCH-FIX-OPENSUSE numpy-1.9.0-remove-__declspec.patch -- fix for spurious compiler warnings that cause build failure Patch1: numpy-1.9.0-remove-__declspec.patch +# PATCH-FIX-UPSTREAM https://github.com/numpy/numpy/pull/26151 +Patch2: 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch +# PATCH-FIX-UPSTREAM https://github.com/numpy/meson/pull/12 +Patch3: 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch BuildRequires: %{python_module Cython >= 3.0} BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module devel} @@ -139,7 +143,7 @@ Requires: alts %else Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives %endif %else BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel @@ -332,7 +336,6 @@ %endif %ifarch %{arm} # https://github.com/numpy/numpy/issues/24001 -test_failok+=" or (test_cpu_features and test_impossible_feature_enable)" test_failok+=" or (test_cpu_features and test_features)" test_failok+=" or (test_umath and test_unary_spurious_fpexception)" %endif ++++++ 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch ++++++ >From bf50761dee8f0670542bcdc1fd9bff5cdb0448d4 Mon Sep 17 00:00:00 2001 From: Fabian Vogt <fv...@suse.de> Date: Thu, 28 Mar 2024 14:39:45 +0100 Subject: [PATCH] BUG: Fix test_impossible_feature_enable failing without BASELINE_FEAT If the build has no baseline features set, the test ended up setting e.g. NPY_ENABLE_CPU_FEATURES="ASIMDHP, None". This actually made the execution succeed, as the warning for decoding "None" overrode the error for the real feature. Fix the error handling there by removing the errorneous "return 0;", add a test for this, and avoid passing "None" by accident. --- numpy/core/src/common/npy_cpu_features.c | 1 - numpy/core/tests/test_cpu_features.py | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/numpy/core/src/common/npy_cpu_features.c b/numpy/core/src/common/npy_cpu_features.c index bd149f8b4..f4d25cc50 100644 --- a/numpy/core/src/common/npy_cpu_features.c +++ b/numpy/core/src/common/npy_cpu_features.c @@ -324,7 +324,6 @@ npy__cpu_check_env(int disable, const char *env) { ) < 0) { return -1; } - return 0; } #define NOTSUPP_BODY \ diff --git a/numpy/core/tests/test_cpu_features.py b/numpy/core/tests/test_cpu_features.py index 48ab30a4a..88e4ad185 100644 --- a/numpy/core/tests/test_cpu_features.py +++ b/numpy/core/tests/test_cpu_features.py @@ -308,8 +308,8 @@ def test_impossible_feature_enable(self): err_type = "RuntimeError" self._expect_error(msg, err_type) - # Ensure that only the bad feature gets reported - feats = f"{bad_feature}, {self.BASELINE_FEAT}" + # Ensure that it fails even when providing garbage in addition + feats = f"{bad_feature}, Foobar" self.env['NPY_ENABLE_CPU_FEATURES'] = feats msg = ( f"You cannot enable CPU features \\({bad_feature}\\), since they " @@ -317,6 +317,16 @@ def test_impossible_feature_enable(self): ) self._expect_error(msg, err_type) + if self.BASELINE_FEAT is not None: + # Ensure that only the bad feature gets reported + feats = f"{bad_feature}, {self.BASELINE_FEAT}" + self.env['NPY_ENABLE_CPU_FEATURES'] = feats + msg = ( + f"You cannot enable CPU features \\({bad_feature}\\), since " + "they are not supported by your machine." + ) + self._expect_error(msg, err_type) + is_linux = sys.platform.startswith('linux') is_cygwin = sys.platform.startswith('cygwin') machine = platform.machine() -- 2.44.0 ++++++ 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch ++++++ >From 79e7c3c3262374de778145946b612135fb7cd581 Mon Sep 17 00:00:00 2001 From: Fabian Vogt <fv...@suse.de> Date: Thu, 28 Mar 2024 13:15:54 +0100 Subject: [PATCH] feature module: Fix handling of multiple conflicts per attribute - Attributes without match were never actually added to the list - Only the last conflict actually had an effect, earlier results were discarded --- vendored-meson/meson/mesonbuild/modules/features/module.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/vendored-meson/meson/mesonbuild/modules/features/module.py b/vendored-meson/meson/mesonbuild/modules/features/module.py index 0be6af06c..a6f357b3f 100644 --- a/vendored-meson/meson/mesonbuild/modules/features/module.py +++ b/vendored-meson/meson/mesonbuild/modules/features/module.py @@ -371,15 +371,12 @@ class Module(NewExtensionModule): values: List[ConflictAttr] = getattr(fet, attr) accumulate_values = test_result[attr] # type: ignore for conflict in values: - if not conflict.match: - accumulate_values.append(conflict.val) - continue conflict_vals: List[str] = [] # select the acc items based on the match new_acc: List[str] = [] for acc in accumulate_values: # not affected by the match so we keep it - if not conflict.match.match(acc): + if not (conflict.match and conflict.match.match(acc)): new_acc.append(acc) continue # no filter so we totaly escape it @@ -396,7 +393,7 @@ class Module(NewExtensionModule): continue conflict_vals.append(conflict.mjoin.join(filter_val)) new_acc.append(conflict.val + conflict.mjoin.join(conflict_vals)) - test_result[attr] = new_acc # type: ignore + accumulate_values = test_result[attr] = new_acc # type: ignore test_args = compiler.has_multi_arguments args = test_result['args'] -- 2.44.0