do not validate variants of concrete specs in solver setup (#22272)
Currently, regardless of a spec being concrete or not, we validate its variants in `spec_clauses` (part of `SpackSolverSetup`). This PR skips the check if the spec is concrete. The reason we want to do this is so that the solver setup class (really, `spec_clauses`) can be used for cases when we just want the logic statements / facts (is that what they are called?) and we don't need to re-validate an already concrete spec. We can't change existing concrete specs, and we have to be able to handle them *even if they violate constraints in the current spack*. This happens in practice if we are doing the validation for a spec produced by a different spack install. Signed-off-by: vsoch <vsoch@users.noreply.github.com>
This commit is contained in:
parent
d22bad13b1
commit
6ff717f395
1 changed files with 11 additions and 10 deletions
|
@ -966,7 +966,8 @@ class Body(object):
|
|||
if value == '*':
|
||||
continue
|
||||
|
||||
# validate variant value
|
||||
# validate variant value only if spec not concrete
|
||||
if not spec.concrete:
|
||||
reserved_names = spack.directives.reserved_names
|
||||
if not spec.virtual and vname not in reserved_names:
|
||||
try:
|
||||
|
|
Loading…
Reference in a new issue