(WIP) Recover bootstrapping from binaries on linux

This commit is contained in:
Massimiliano Culpo 2024-11-11 13:14:43 +01:00
parent 496ae0bb31
commit a0cae04302
No known key found for this signature in database
GPG Key ID: 3E52BB992233066C
3 changed files with 12 additions and 9 deletions

View File

@ -19,7 +19,7 @@ config:
install_tree:
root: $spack/opt/spack
projections:
all: "{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}"
all: "{architecture.platform}/{architecture.target}/{name}-{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

View File

@ -629,7 +629,11 @@ def tarball_directory_name(spec):
Return name of the tarball directory according to the convention
<os>-<architecture>/<compiler>/<package>-<version>/
"""
return spec.format_path("{architecture}/{compiler.name}-{compiler.version}/{name}-{version}")
# FIXME (compiler as nodes): fix the naming scheme later to avoid using compiler
return spec.format_path(
f"{spec.architecture}/{spec.compiler_annotation.name}-{spec.compiler_annotation.version}/"
f"{spec.name}-{spec.version}"
)
def tarball_name(spec, ext):
@ -637,8 +641,11 @@ def tarball_name(spec, ext):
Return the name of the tarfile according to the convention
<os>-<architecture>-<package>-<dag_hash><ext>
"""
spec_formatted = spec.format_path(
"{architecture}-{compiler.name}-{compiler.version}-{name}-{version}-{hash}"
# FIXME (compiler as nodes): fix the naming scheme later to avoid using compiler
spec_formatted = (
f"{spec.architecture}-{spec.compiler_annotation.name}"
f"-{spec.compiler_annotation.version}-{spec.name}"
f"-{spec.version}-{spec.dag_hash()}"
)
return f"{spec_formatted}{ext}"

View File

@ -234,12 +234,8 @@ def _root_spec(spec_str: str) -> str:
# Add a compiler and platform requirement to the root spec.
platform = str(spack.platforms.host())
if platform == "darwin":
spec_str += " %apple-clang"
elif platform == "windows":
if platform == "windows":
spec_str += " %msvc"
elif platform == "linux":
spec_str += " %gcc"
elif platform == "freebsd":
spec_str += " %clang"
spec_str += f" platform={platform}"