spack/lib/spack
Nathan Hanford eef2536055
Allow buildcache specs to be referenced by hash (#35042)
Currently, specs on buildcache mirrors must be referenced by their full description. This PR allows buildcache specs to be referenced by their hashes, rather than their full description.

### How it works

Hash resolution has been moved from `SpecParser` into `Spec`, and now includes the ability to execute a `BinaryCacheQuery` after checking the local store, but before concluding that the hash doesn't exist.

### Side-effects of Proposed Changes

Failures will take longer when nonexistent hashes are parsed, as mirrors will now be scanned.

### Other Changes

- `BinaryCacheIndex.update` has been modified to fail appropriately only when mirrors have been configured.
- Tests of hash failures have been updated to use `mutable_empty_config` so they don't needlessly search mirrors.
- Documentation has been clarified for `BinaryCacheQuery`, and more documentation has been added to the hash resolution functions added to `Spec`.
2023-05-12 10:27:42 -07:00
..
docs Stand-alone testing: make recipe support and processing spack-/pytest-like (#34236) 2023-05-10 11:34:54 +02:00
env cc: deal with -Wl,-rpath= without value, deal with NAG (#37215) 2023-05-05 12:16:31 +02:00
external Update archspec to v0.2.1 (#37633) 2023-05-12 18:59:58 +02:00
llnl Add llnl.util.filesystem.find_first (#36083) 2023-03-27 09:42:16 -07:00
spack Allow buildcache specs to be referenced by hash (#35042) 2023-05-12 10:27:42 -07:00
spack_installable license year bump (#34921) 2023-01-18 14:30:17 -08:00