bugfix: identical specs with different DAG hashes don't shadow each other
- logic used in `spack find` was hiding duplicate installations if their hashes were different - short hash doesn't work in this scenario, since specs are structurally identical - ConstraintAction always works on a DB query, so use the DAG hash to ensure uniqueness
This commit is contained in:
parent
3e94c4d573
commit
ea7648ff84
@ -57,11 +57,13 @@ def _specs(self, **kwargs):
|
|||||||
return spack.store.db.query(**kwargs)
|
return spack.store.db.query(**kwargs)
|
||||||
|
|
||||||
# Return only matching stuff otherwise.
|
# Return only matching stuff otherwise.
|
||||||
specs = set()
|
specs = {}
|
||||||
for spec in qspecs:
|
for spec in qspecs:
|
||||||
for s in spack.store.db.query(spec, **kwargs):
|
for s in spack.store.db.query(spec, **kwargs):
|
||||||
specs.add(s)
|
# This is fast for already-concrete specs
|
||||||
return sorted(specs)
|
specs[s.dag_hash()] = s
|
||||||
|
|
||||||
|
return sorted(specs.values())
|
||||||
|
|
||||||
|
|
||||||
_arguments['constraint'] = Args(
|
_arguments['constraint'] = Args(
|
||||||
|
Loading…
Reference in New Issue
Block a user