Conversation
There was a problem hiding this comment.
Pull request overview
Updates the shared Spack environment view configuration to reduce the number of files exposed in the default /opt/local view by linking only environment root specs, aligning with the goal of minimizing unnecessary symlinks for downstream users (e.g., OSG).
Changes:
- Configure the
defaultSpack view tolink: roots(previously implicitly linking more than roots). - Keep
link_type: symlinkand existing exclude/select behavior unchanged.
|
The problem here is that ROOT now cannot find headers like |
| root: /opt/local | ||
| exclude: | ||
| - epic | ||
| - py-pip@23.0 | ||
| - py-urllib3@1 | ||
| link: roots | ||
| link_type: symlink |
There was a problem hiding this comment.
link: roots is a significant behavioral change: only top-level env specs will be present in the view, and common dependency-provided CLIs/files that previously appeared under /opt/local will no longer be discoverable via the view. If any workflows relied on dependency tools being in the view, consider either (a) adding those packages as explicit roots, or (b) switching to a less restrictive linking mode (e.g., linking runtimes) for the default view.
| exclude: | ||
| - epic | ||
| - py-pip@23.0 | ||
| - py-urllib3@1 | ||
| link: roots |
There was a problem hiding this comment.
With link: roots, excludes that target packages which are only ever dependencies won’t have any practical effect (they aren’t linked anyway). If py-urllib3 is not intended to be a root, consider removing this exclude to avoid confusion; if it is sometimes a root, add a brief comment explaining why it must be excluded even under root-only linking. Also consider removing the trailing whitespace after exclude: to avoid churn/lint noise.
| - py-toml | ||
| - py-uproot | ||
| - py-vector | ||
| - root |
There was a problem hiding this comment.
Since the default view now links only roots, adding root here will make it appear in the default view. If the goal is only to reduce view bloat, consider whether root belongs specifically in the TF environment or should be added to the environment(s) that actually need it to be exposed via /opt/local.
| - root |
Briefly, what does this PR introduce?
We keep hearing about many files from OSG folks. We have a symlink for all packages, even if we don't actually need to expose some of this functionality beyond explicitly included packages. This restricts what is linked into the view to only the roots.
I think we've tried this before. I forget why it failed. We'll see...