`cray-mpich-binary` currently needs to be added manually as a package to spack instance depending on spack stack as upstream
msimberg opened this issue · comments
Currently, trying to use cray-mpich-binary
in a spec in a spack instance using the spack stack as an upstream will fail without manual changes because while cray-mpich-binary
is installed, its package definition is not available in the upstream.
This can currently be worked around by manually copying the cray-mpich-binary
package definition to the dependent spack instance.
I think this would be most cleanly fixed by creating a custom spack repository somewhere under /user-environment
and adding the following to /user-environment/config/repos.yaml
:
repos:
- /user-environment/path/to/cray-mpich-binary/repo
The package definition should then automatically be picked up if SPACK_SYSTEM_CONFIG_PATH
is set to point to /user-environment/config
.
I have a branch where the custom spack repository is put in /user-environment/spack
.
Some questions:
- I am removing the
.git
path from the spack repository in order to reduce the size of the installed image - is that likely to be a problem? - If it is always in the same location:
$store/spack
, do we need additional meta data like the suggestedrepos.yaml
file? - This won't help people who want to use the stack as an upstream for their own branch or fork of spack. How do we help them? One option is to provide a script that will "patch" their spack path by creating
cray-mpich-binary/package.py
.
My last comment does not make much sense, after @msimberg pointed me towards: https://spack.readthedocs.io/en/latest/repositories.html
I will create a repo, which can also be used to build the environment.