Add a command to bootstrap Spack right now (#33407)
This commit is contained in:
parent
25cbb34579
commit
7ad7fde09c
2 changed files with 17 additions and 1 deletions
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue