diff options
author | Mario Melara <maamelara@gmail.com> | 2016-05-28 10:12:53 -0700 |
---|---|---|
committer | Mario Melara <maamelara@gmail.com> | 2016-05-28 10:12:53 -0700 |
commit | becec8ac7e17a9d56f1d5b0640c1f56be8f64a7f (patch) | |
tree | dd2caa2d67cff3c53c27f437d312166ef579c036 /lib | |
parent | 9dad7c2acee1329c842a3382b6238c3010e6c931 (diff) | |
download | spack-becec8ac7e17a9d56f1d5b0640c1f56be8f64a7f.tar.gz spack-becec8ac7e17a9d56f1d5b0640c1f56be8f64a7f.tar.bz2 spack-becec8ac7e17a9d56f1d5b0640c1f56be8f64a7f.tar.xz spack-becec8ac7e17a9d56f1d5b0640c1f56be8f64a7f.zip |
Added external module check in normalize to avoid infinite loop
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/spec.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index a505b3c12e..f8bad3ff03 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -1002,11 +1002,12 @@ class Spec(object): """ # Make an index of stuff this spec already provides self_index = ProviderIndex(self.traverse(), restrict=True) - changed = False done = False + while not done: done = True + for spec in list(self.traverse()): replacement = None if spec.virtual: @@ -1329,7 +1330,7 @@ class Spec(object): # if we descend into a virtual spec, there's nothing more # to normalize. Concretize will finish resolving it later. - if self.virtual or self.external: + if self.virtual or self.external or self.external_module: return False # Combine constraints from package deps with constraints from @@ -1376,7 +1377,6 @@ class Spec(object): # Ensure first that all packages & compilers in the DAG exist. self.validate_names() - # Get all the dependencies into one DependencyMap spec_deps = self.flat_dependencies(copy=False) |