Add a command to bootstrap Spack right now (#33407)

This commit is contained in:
Massimiliano Culpo
2022-10-19 19:25:20 +02:00
committed by GitHub
parent 25cbb34579
commit 7ad7fde09c
2 changed files with 17 additions and 1 deletions

View File

@@ -5,6 +5,7 @@
from __future__ import print_function
import os.path
import platform
import shutil
import tempfile
@@ -73,6 +74,8 @@ def _add_scope_option(parser):
def setup_parser(subparser):
sp = subparser.add_subparsers(dest="subcommand")
sp.add_parser("now", help="Spack ready, right now!")
status = sp.add_parser("status", help="get the status of Spack")
status.add_argument(
"--optional",
@@ -404,6 +407,14 @@ def write_metadata(subdir, metadata):
print(instructions)
def _now(args):
with spack.bootstrap.ensure_bootstrap_configuration():
spack.bootstrap.ensure_clingo_importable_or_raise()
spack.bootstrap.ensure_gpg_in_path_or_raise()
if platform.system().lower() == "linux":
spack.bootstrap.ensure_patchelf_in_path_or_raise()
def bootstrap(parser, args):
callbacks = {
"status": _status,
@@ -417,5 +428,6 @@ def bootstrap(parser, args):
"add": _add,
"remove": _remove,
"mirror": _mirror,
"now": _now,
}
callbacks[args.subcommand](args)