summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2020-05-11 19:55:18 +0200
committerGitHub <noreply@github.com>2020-05-11 10:55:18 -0700
commit43c9ad34216a282a50cc1bbd107949c24db38835 (patch)
tree296c5b1cef0eb1bd1b584e8a1f034ef42979df06 /lib
parent4c666034dcf9a8e9252703c642a48d5f2949738c (diff)
downloadspack-43c9ad34216a282a50cc1bbd107949c24db38835.tar.gz
spack-43c9ad34216a282a50cc1bbd107949c24db38835.tar.bz2
spack-43c9ad34216a282a50cc1bbd107949c24db38835.tar.xz
spack-43c9ad34216a282a50cc1bbd107949c24db38835.zip
Remove 'spack bootstrap' and associated docs (#15179)
fixes #15145 This commit removes the outdated `spack bootstrap` command and any reference to it in the documentation and unit tests.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/docs/getting_started.rst52
-rw-r--r--lib/spack/docs/module_file_support.rst18
-rw-r--r--lib/spack/docs/workflows.rst3
-rw-r--r--lib/spack/spack/cmd/bootstrap.py80
4 files changed, 8 insertions, 145 deletions
diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst
index 8de9d27662..1fbddbd4a9 100644
--- a/lib/spack/docs/getting_started.rst
+++ b/lib/spack/docs/getting_started.rst
@@ -71,10 +71,6 @@ This automatically adds Spack to your ``PATH`` and allows the ``spack``
command to be used to execute spack :ref:`commands <shell-support>` and
:ref:`useful packaging commands <packaging-shell-support>`.
-If :ref:`environment-modules <InstallEnvironmentModules>` is
-installed and available, the ``spack`` command can also load and unload
-:ref:`modules <modules>`.
-
^^^^^^^^^^^^^^^^^
Clean Environment
^^^^^^^^^^^^^^^^^
@@ -900,9 +896,8 @@ Core Spack Utilities
^^^^^^^^^^^^^^^^^^^^
Core Spack uses the following packages, mainly to download and unpack
-source code, and to load generated environment modules: ``curl``,
-``env``, ``git``, ``go``, ``hg``, ``svn``, ``tar``, ``unzip``,
-``patch``, ``environment-modules``.
+source code: ``curl``, ``env``, ``git``, ``go``, ``hg``, ``svn``,
+``tar``, ``unzip``, ``patch``
As long as the user's environment is set up to successfully run these
programs from outside of Spack, they should work inside of Spack as
@@ -910,10 +905,6 @@ well. They can generally be activated as in the ``curl`` example above;
or some systems might already have an appropriate hand-built
environment module that may be loaded. Either way works.
-If you find that you are missing some of these programs, ``spack`` can
-build some of them for you with ``spack bootstrap``. Currently supported
-programs are ``environment-modules``.
-
A few notes on specific programs in this list:
""""""""""""""""""""""""""
@@ -941,45 +932,6 @@ other programs will also not work, because they also rely on OpenSSL.
Once ``curl`` has been installed, you can similarly install the others.
-.. _InstallEnvironmentModules:
-
-"""""""""""""""""""
-Environment Modules
-"""""""""""""""""""
-
-In order to use Spack's generated module files, you must have
-installed ``environment-modules`` or ``lmod``. The simplest way
-to get the latest version of either of these tools is installing
-it as part of Spack's bootstrap procedure:
-
-.. code-block:: console
-
- $ spack bootstrap
-
-.. warning::
- At the moment ``spack bootstrap`` is only able to install ``environment-modules``.
- Extending its capabilities to prefer ``lmod`` where possible is in the roadmap,
- and likely to happen before the next release.
-
-Alternatively, on many Linux distributions, you can install a pre-built binary
-from the vendor's repository. On Fedora/RHEL/CentOS, for example, this can be
-done with the command:
-
-.. code-block:: console
-
- $ yum install environment-modules
-
-Once you have the tool installed and available in your path, you can source
-Spack's setup file:
-
-.. code-block:: console
-
- $ source share/spack/setup-env.sh
-
-This activates :ref:`shell support <shell-support>` and makes commands like
-``spack load`` available for use.
-
-
^^^^^^^^^^^^^^^^^
Package Utilities
^^^^^^^^^^^^^^^^^
diff --git a/lib/spack/docs/module_file_support.rst b/lib/spack/docs/module_file_support.rst
index 01a13cdf3e..4ddd42139c 100644
--- a/lib/spack/docs/module_file_support.rst
+++ b/lib/spack/docs/module_file_support.rst
@@ -17,22 +17,16 @@ Spack integrates with `Environment Modules
<http://lmod.readthedocs.io/en/latest/>`_ by
providing post-install hooks that generate module files and commands to manipulate them.
-.. note::
-
- If your machine does not already have a module system installed,
- we advise you to use either Environment Modules or LMod. See :ref:`InstallEnvironmentModules`
- for more details.
-
.. _shell-support:
----------------------------
Using module files via Spack
----------------------------
-If you have installed a supported module system either manually or through
-``spack bootstrap``, you should be able to run either ``module avail`` or
-``use -l spack`` to see what module files have been installed. Here is
-sample output of those programs, showing lots of installed packages:
+If you have installed a supported module system you should be able to
+run either ``module avail`` or ``use -l spack`` to see what module
+files have been installed. Here is sample output of those programs,
+showing lots of installed packages:
.. code-block:: console
@@ -93,9 +87,7 @@ Note that in the latter case it is necessary to explicitly set ``SPACK_ROOT``
before sourcing the setup file (you will get a meaningful error message
if you don't).
-When ``bash`` and ``ksh`` users update their environment with ``setup-env.sh``, it will check for spack-installed environment modules and add the ``module`` command to their environment; This only occurs if the module command is not already available. You can install ``environment-modules`` with ``spack bootstrap`` as described in :ref:`InstallEnvironmentModules`.
-
-Finally, if you want to have Spack's shell support available on the command line at
+If you want to have Spack's shell support available on the command line at
any login you can put this source line in one of the files that are sourced
at startup (like ``.profile``, ``.bashrc`` or ``.cshrc``). Be aware though
that the startup time may be slightly increased because of that.
diff --git a/lib/spack/docs/workflows.rst b/lib/spack/docs/workflows.rst
index 690d02d020..17ca695082 100644
--- a/lib/spack/docs/workflows.rst
+++ b/lib/spack/docs/workflows.rst
@@ -1442,8 +1442,7 @@ The following functionality is prepared:
#. Base image: the example starts from a minimal ubuntu.
-#. Pre-install the spack dependencies, including modules from the packages.
- This avoids needing to build those from scratch via ``spack bootstrap``.
+#. Pre-install the spack dependencies.
Package installs are followed by a clean-up of the system package index,
to avoid outdated information and it saves space.
diff --git a/lib/spack/spack/cmd/bootstrap.py b/lib/spack/spack/cmd/bootstrap.py
deleted file mode 100644
index 53c284ab6d..0000000000
--- a/lib/spack/spack/cmd/bootstrap.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-import llnl.util.cpu
-import llnl.util.tty as tty
-
-import spack.repo
-import spack.spec
-import spack.cmd.common.arguments as arguments
-
-description = "Bootstrap packages needed for spack to run smoothly"
-section = "admin"
-level = "long"
-
-
-def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['jobs'])
- subparser.add_argument(
- '--keep-prefix', action='store_true', dest='keep_prefix',
- help="don't remove the install prefix if installation fails")
- subparser.add_argument(
- '--keep-stage', action='store_true', dest='keep_stage',
- help="don't remove the build stage if installation succeeds")
- arguments.add_common_arguments(subparser, ['no_checksum'])
- subparser.add_argument(
- '-v', '--verbose', action='store_true', dest='verbose',
- help="display verbose build output while installing")
-
- cache_group = subparser.add_mutually_exclusive_group()
- cache_group.add_argument(
- '--use-cache', action='store_true', dest='use_cache', default=True,
- help="check for pre-built Spack packages in mirrors (default)")
- cache_group.add_argument(
- '--no-cache', action='store_false', dest='use_cache', default=True,
- help="do not check for pre-built Spack packages in mirrors")
- cache_group.add_argument(
- '--cache-only', action='store_true', dest='cache_only', default=False,
- help="only install package from binary mirrors")
-
- cd_group = subparser.add_mutually_exclusive_group()
- arguments.add_common_arguments(cd_group, ['clean', 'dirty'])
-
-
-def bootstrap(parser, args, **kwargs):
- kwargs.update({
- 'keep_prefix': args.keep_prefix,
- 'keep_stage': args.keep_stage,
- 'install_deps': 'dependencies',
- 'verbose': args.verbose,
- 'dirty': args.dirty,
- 'use_cache': args.use_cache,
- 'cache_only': args.cache_only
- })
-
- # Define requirement dictionary defining general specs which need
- # to be satisfied, and the specs to install when the general spec
- # isn't satisfied.
- requirement_dict = {
- # Install environment-modules with generic optimizations
- 'environment-modules': 'environment-modules~X target={0}'.format(
- llnl.util.cpu.host().family
- )
- }
-
- for requirement in requirement_dict:
- installed_specs = spack.store.db.query(requirement)
- if(len(installed_specs) > 0):
- tty.msg("Requirement %s is satisfied with installed "
- "package %s" % (requirement, installed_specs[0]))
- else:
- # Install requirement
- spec_to_install = spack.spec.Spec(requirement_dict[requirement])
- spec_to_install.concretize()
- tty.msg("Installing %s to satisfy requirement for %s" %
- (spec_to_install, requirement))
- kwargs['explicit'] = True
- package = spack.repo.get(spec_to_install)
- package.do_install(**kwargs)