diff options
author | Patrick Gartung <gartung@fnal.gov> | 2020-03-16 08:42:23 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-16 08:42:23 -0500 |
commit | 17e4df1e41998c1f5f777127c1157cdd7c61fe90 (patch) | |
tree | d39399cdff93a4810f21bae74233a7ca00f6f11e /.gitattributes | |
parent | 0301ec32b42d46ffb1f497112be71e3406eb4ce6 (diff) | |
download | spack-17e4df1e41998c1f5f777127c1157cdd7c61fe90.tar.gz spack-17e4df1e41998c1f5f777127c1157cdd7c61fe90.tar.bz2 spack-17e4df1e41998c1f5f777127c1157cdd7c61fe90.tar.xz spack-17e4df1e41998c1f5f777127c1157cdd7c61fe90.zip |
Buildcache: Install into non-default directory layouts (#13797)
* Buildcache: Install into non-default directory layouts
Store a dictionary mapping of original dependency prefixes to dependency hashes
Use the loaded spec to grab the new dependency prefixes in the new directory layout.
Map the original dependency prefixes to the new dependency prefixes using the dependency hashes.
Use the dependency prefixes map to replace original rpaths with new rpaths preserving the order.
For mach-o binaries, use the dependency prefixes map to replace the dependency library entires for libraries and executables and the replace the library id for libraries.
On Linux, patchelf is used to replace the rpaths of elf binaries.
On macOS, install_name_tool is used to replace the rpaths and dependency libraries of mach-o binaries and the id of mach-o libraries.
On Linux, macholib is used to replace the dependency libraries of mach-o binaries and the id of mach-o libraries.
Binary text with padding replacement is attempted for all binaries for the following paths:
spack layout root
spack prefix
sbang script location
dependency prefixes
package prefix
Text replacement is attempted for all text files using the paths above.
Symbolic links to the absolute path of the package install prefix are replaced, all others produce warnings.
Diffstat (limited to '.gitattributes')
0 files changed, 0 insertions, 0 deletions