Skip to content

Commit 9c31dea

Browse files
committed
Reconstruct virtuals when reading from Cray manifest
1 parent 9140e44 commit 9c31dea

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

lib/spack/spack/cray_manifest.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,11 @@ def entries_to_specs(entries):
164164
continue
165165
parent_spec = spec_dict[entry["hash"]]
166166
dep_spec = spec_dict[dep_hash]
167-
# TODO: Check this with Peter
168167
parent_spec._add_dependency(dep_spec, deptypes=deptypes, virtuals=())
169168

169+
for spec in spec_dict.values():
170+
spack.spec.reconstruct_virtuals_on_edges(spec)
171+
170172
return spec_dict
171173

172174

lib/spack/spack/spec.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4804,9 +4804,11 @@ def merge_abstract_anonymous_specs(*abstract_specs: Spec):
48044804
return merged_spec
48054805

48064806

4807-
def _reconstruct_virtuals_on_edges(spec):
4808-
"""Reconstruct virtuals on edges. Used to read from old DB
4809-
and reindex.
4807+
def reconstruct_virtuals_on_edges(spec):
4808+
"""Reconstruct virtuals on edges. Used to read from old DB and reindex.
4809+
4810+
Args:
4811+
spec: spec on which we want to reconstruct virtuals
48104812
"""
48114813
# Collect all possible virtuals
48124814
possible_virtuals = set()
@@ -4983,7 +4985,7 @@ def load(cls, data):
49834985
for dname, _, dtypes, _, virtuals in cls.dependencies_from_node_dict(data):
49844986
deps[name]._add_dependency(deps[dname], deptypes=dtypes, virtuals=virtuals)
49854987

4986-
_reconstruct_virtuals_on_edges(result)
4988+
reconstruct_virtuals_on_edges(result)
49874989
return result
49884990

49894991
@classmethod
@@ -5025,7 +5027,7 @@ class SpecfileV2(SpecfileReaderBase):
50255027
@classmethod
50265028
def load(cls, data):
50275029
result = cls._load(data)
5028-
_reconstruct_virtuals_on_edges(result)
5030+
reconstruct_virtuals_on_edges(result)
50295031
return result
50305032

50315033
@classmethod

0 commit comments

Comments
 (0)