feature: better spack repo management.
bcumming opened this issue · comments
Spack packages in uenv are defined in three different locations:
- the builtin packages in
spack/var/spack/repos/builtin
- the repo path provided by stackinator
- primarily for providing cray-mpich and it's dependencies, which are custom packages
- the repo path in a recipe
Recently we have started puting packages in stackinator to provide up to date versions and fixes on Santis
- the latest
cuda
andnvhpc
packages - gcc with patches for Grace
There are two issues with this
- if a recipe provides a package that is also provided by stackinator, there is a conflict during stack configuration.
- by providing packages for an in-development system like Santis as part of stackinator, we enforce changes on all vClusters.
We can fix this by:
- handle the case where multiple repos provide the same package with clear precidence
- provide per-vCluster repos
I think the following precidence for packages from the different repos would be the best:
recipe > cluster > stackinator > spack