diff options
author | Greg Becker <becker33@llnl.gov> | 2020-11-12 16:08:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-12 16:08:55 -0800 |
commit | fafff0c6c0142e62e0f6b65b1d53ea58feb7fc7a (patch) | |
tree | afff6d5c6be421f2ad17feab4ef07cda9ce7e55f /etc | |
parent | 32bfe0a001d409e90bf4c81bde05f46ca9146ec4 (diff) | |
download | spack-fafff0c6c0142e62e0f6b65b1d53ea58feb7fc7a.tar.gz spack-fafff0c6c0142e62e0f6b65b1d53ea58feb7fc7a.tar.bz2 spack-fafff0c6c0142e62e0f6b65b1d53ea58feb7fc7a.tar.xz spack-fafff0c6c0142e62e0f6b65b1d53ea58feb7fc7a.zip |
move sbang to unpadded install tree root (#19640)
Since #11598 sbang has been installed within the install_tree. This doesn’t play
nicely with install_tree padding, since sbang can’t do its job if it is installed in a
long path (this is the whole point of sbang).
This PR changes the padding specification. Instead of $padding inside paths,
we now have a separate `padding:` field in the `install_tree` configuration.
Previously, the `install_tree` looked like this:
```
/path/to/opt/spack_padding_padding_padding_padding_padding/
bin/
sbang
.spack-db/
...
linux-rhel7-x86_64/
...
```
```
This PR updates things to look like this:
/path/to/opt/
bin/
sbang
spack_padding_padding_padding_padding_padding/
.spack-db/
...
linux-rhel7-x86_64/
...
So padding is added at the start of all install prefixes *within* the unpadded
root. The database and all installations still go under the padded root.
This ensures that `sbang` is in the shorted possible path while also allowing
us to make long paths for relocatable binaries.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/spack/defaults/config.yaml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml index aa4ee2bbc6..6c5e8697b1 100644 --- a/etc/spack/defaults/config.yaml +++ b/etc/spack/defaults/config.yaml @@ -20,6 +20,13 @@ config: root: $spack/opt/spack projections: all: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}" + # install_tree can include an optional padded length (int or boolean) + # default is False (do not pad) + # if padded_length is True, Spack will pad as close to the system max path + # length as possible + # if padded_length is an integer, Spack will pad to that many characters, + # assuming it is higher than the length of the install_tree root. + # padded_length: 128 # Locations where templates should be found |