From 2f789f01d3b38770fb51c01b9bf64024b8852d82 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 9 Sep 2024 19:37:26 +0200 Subject: [PATCH] =?UTF-8?q?Revert=20"Set=20module=20variables=20for=20all?= =?UTF-8?q?=20packages=20before=20running=20setup=5Fdependent=5F=E2=80=A6"?= =?UTF-8?q?=20(#46283)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 6f08db463149efdea126abf8fdc770f684b4199d. --- lib/spack/spack/build_environment.py | 7 +------ lib/spack/spack/test/build_environment.py | 24 ----------------------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index e95a9042173..e807bf6fd02 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -1003,6 +1003,7 @@ def set_all_package_py_globals(self): """Set the globals in modules of package.py files.""" for dspec, flag in chain(self.external, self.nonexternal): pkg = dspec.package + if self.should_set_package_py_globals & flag: if self.context == Context.BUILD and self.needs_build_context & flag: set_package_py_globals(pkg, context=Context.BUILD) @@ -1010,12 +1011,6 @@ def set_all_package_py_globals(self): # This includes runtime dependencies, also runtime deps of direct build deps. set_package_py_globals(pkg, context=Context.RUN) - # Looping over the set of packages a second time - # ensures all globals are loaded into the module space prior to - # any package setup. This guarantees package setup methods have - # access to expected module level definitions such as "spack_cc" - for dspec, flag in chain(self.external, self.nonexternal): - pkg = dspec.package for spec in dspec.dependents(): # Note: some specs have dependents that are unreachable from the root, so avoid # setting globals for those. diff --git a/lib/spack/spack/test/build_environment.py b/lib/spack/spack/test/build_environment.py index 02f0a27f46f..3ae41acc9ce 100644 --- a/lib/spack/spack/test/build_environment.py +++ b/lib/spack/spack/test/build_environment.py @@ -513,30 +513,6 @@ def test_setting_dtags_based_on_config(config_setting, expected_flag, config, mo assert dtags_to_add.value == expected_flag -def test_module_globals_available_at_setup_dependent_time( - monkeypatch, mutable_config, mock_packages, working_env -): - """Spack built package externaltest depends on an external package - externaltool. Externaltool's setup_dependent_package needs to be able to - access globals on the dependent""" - - def setup_dependent_package(module, dependent_spec): - # Make sure set_package_py_globals was already called on - # dependents - # ninja is always set by the setup context and is not None - dependent_module = dependent_spec.package.module - assert hasattr(dependent_module, "ninja") - assert dependent_module.ninja is not None - dependent_spec.package.test_attr = True - - externaltool = spack.spec.Spec("externaltest").concretized() - monkeypatch.setattr( - externaltool["externaltool"].package, "setup_dependent_package", setup_dependent_package - ) - spack.build_environment.setup_package(externaltool.package, False) - assert externaltool.package.test_attr - - def test_build_jobs_sequential_is_sequential(): assert ( determine_number_of_jobs(