summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorGreg Becker <becker33@llnl.gov>2020-11-12 16:08:55 -0800
committerGitHub <noreply@github.com>2020-11-12 16:08:55 -0800
commitfafff0c6c0142e62e0f6b65b1d53ea58feb7fc7a (patch)
treeafff6d5c6be421f2ad17feab4ef07cda9ce7e55f /etc
parent32bfe0a001d409e90bf4c81bde05f46ca9146ec4 (diff)
downloadspack-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.yaml7
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