Old concretizer: prevent unexpected propagation of external config (#20976)
When using an external package with the old concretizer, all dependencies of that external package were severed. This was not performed bidirectionally though, so for an external package W with a dependency on Z, if some other package Y depended on Z, Z could still pull properties (e.g. compiler) from W since it was not severed as a parent dependency. This performs the severing bidirectionally, and adds tests to confirm expected behavior when using config from DAG-adjacent packages during concretization.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class ExternalCommonGdbm(Package):
|
||||
homepage = "http://www.gnu.org.ua/software/gdbm/gdbm.html"
|
||||
url = "https://ftpmirror.gnu.org/gdbm/gdbm-1.18.1.tar.gz"
|
||||
|
||||
version('1.18.1', 'be78e48cdfc1a7ad90efff146dce6cfe')
|
@@ -0,0 +1,14 @@
|
||||
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class ExternalCommonOpenssl(Package):
|
||||
homepage = "http://www.openssl.org"
|
||||
url = "http://www.openssl.org/source/openssl-1.1.1i.tar.gz"
|
||||
|
||||
version('1.1.1i', 'be78e48cdfc1a7ad90efff146dce6cfe')
|
||||
depends_on('external-common-perl')
|
@@ -0,0 +1,14 @@
|
||||
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class ExternalCommonPerl(Package):
|
||||
homepage = "http://www.perl.org"
|
||||
url = "http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz"
|
||||
|
||||
version('5.32.0', 'be78e48cdfc1a7ad90efff146dce6cfe')
|
||||
depends_on('external-common-gdbm')
|
@@ -0,0 +1,15 @@
|
||||
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class ExternalCommonPython(Package):
|
||||
homepage = "http://www.python.org"
|
||||
url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz"
|
||||
|
||||
version('3.8.7', 'be78e48cdfc1a7ad90efff146dce6cfe')
|
||||
depends_on('external-common-openssl')
|
||||
depends_on('external-common-gdbm')
|
Reference in New Issue
Block a user