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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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)

View file

@ -412,10 +412,14 @@ _spack_bootstrap() {
then
SPACK_COMPREPLY="-h --help"
else
SPACK_COMPREPLY="status enable disable reset root list trust untrust add remove mirror"
SPACK_COMPREPLY="now status enable disable reset root list trust untrust add remove mirror"
fi
}
_spack_bootstrap_now() {
SPACK_COMPREPLY="-h --help"
}
_spack_bootstrap_status() {
SPACK_COMPREPLY="-h --help --optional --dev"
}