spack/share/spack
Massimiliano Culpo d352b71df0
Error when an anonymous spec is required for a virtual package (#49385)
When requiring a constraint on a virtual package, it makes little
sense to use anonymous specs, and our documentation shows no example
of requirements on virtual packages starting with `^`.

Right now, due to how `^` is implemented in the solver, writing:
```yaml
mpi:
  require: "^openmpi"
```
is equivalent to the more correct form:
```yaml
mpi:
  require: "openmpi"
```
but the situation will change when `%` will shift its meaning to be a
direct dependency.

To avoid later errors that are both unclear, and quite slow to get to the user,
this commit makes anonymous specs under virtual requirements an error,
and shows a clear error message pointing to the file and line where the
spec needs to be changed.

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-03-12 08:33:42 +01:00
..
bash Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
bootstrap bootstrap: add clingo 3.13 binaries and more (#47126) 2024-10-24 08:55:14 +02:00
csh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
docker Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
docs/docker/module-file-tutorial Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
fish Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
gitlab/cloud_pipelines Error when an anonymous spec is required for a virtual package (#49385) 2025-03-12 08:33:42 +01:00
keys
logo
qa Assign priorities to configuration scopes (take 2) (#49187) 2025-02-26 10:52:19 -08:00
templates Don't inject import statements in package recipes 2024-12-05 12:48:00 -08:00
setup-env.bat Normalize Spack Win entry points (#38648) 2024-10-25 15:23:29 -04:00
setup-env.csh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
setup-env.fish Fix setup.fish syntax (#49176) 2025-02-25 07:11:55 -06:00
setup-env.ps1 Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
setup-env.sh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
setup-tutorial-env.sh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
spack-completion.bash spack verify libraries: verify dependencies of installed packages can be resolved (#49124) 2025-02-24 11:28:06 +01:00
spack-completion.fish Support independent includes with conditional, optional, and remote entries (#48784) 2025-03-09 19:33:44 -07:00