eth-cscs / stackinator

Home Page:https://eth-cscs.github.io/stackinator/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`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:

  1. 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?
  2. If it is always in the same location: $store/spack, do we need additional meta data like the suggested repos.yaml file?
  3. 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.