diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2019-10-03 07:15:01 +0200 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2019-10-02 22:15:01 -0700 |
commit | 76b9c561109e4a19375231fd6e8fd8a1c7947f34 (patch) | |
tree | e68018d5397a30eee2eaa1926a2dcabbc75b5c18 /lib/spack/docs | |
parent | b11984767b79f05d261ef112a46e09bc1939204f (diff) | |
download | spack-76b9c561109e4a19375231fd6e8fd8a1c7947f34.tar.gz spack-76b9c561109e4a19375231fd6e8fd8a1c7947f34.tar.bz2 spack-76b9c561109e4a19375231fd6e8fd8a1c7947f34.tar.xz spack-76b9c561109e4a19375231fd6e8fd8a1c7947f34.zip |
Remove support for generating dotkit files (#11986)
Dotkit is being used only at a few sites and has been deprecated on new
machines. This commit removes all the code that provide support for the
generation of dotkit module files.
A new validator named "deprecatedProperties" has been added to the
jsonschema validators. It permits to prompt a warning message or exit
with an error if a property that has been marked as deprecated is
encountered.
* Removed references to dotkit in the docs
* Removed references to dotkit in setup-env-test.sh
* Added a unit test for the 'deprecatedProperties' schema validator
Diffstat (limited to 'lib/spack/docs')
-rw-r--r-- | lib/spack/docs/basic_usage.rst | 13 | ||||
-rw-r--r-- | lib/spack/docs/config_yaml.rst | 1 | ||||
-rw-r--r-- | lib/spack/docs/configuration.rst | 2 | ||||
-rw-r--r-- | lib/spack/docs/getting_started.rst | 2 | ||||
-rw-r--r-- | lib/spack/docs/module_file_support.rst | 50 |
5 files changed, 16 insertions, 52 deletions
diff --git a/lib/spack/docs/basic_usage.rst b/lib/spack/docs/basic_usage.rst index 1c61a38899..f6ceb2a9e6 100644 --- a/lib/spack/docs/basic_usage.rst +++ b/lib/spack/docs/basic_usage.rst @@ -1190,24 +1190,15 @@ Using Extensions ^^^^^^^^^^^^^^^^ There are three ways to get ``numpy`` working in Python. The first is -to use :ref:`shell-support`. You can simply ``use`` or ``load`` the +to use :ref:`shell-support`. You can simply ``load`` the module for the extension, and it will be added to the ``PYTHONPATH`` -in your current shell. - -For tcl modules: +in your current shell: .. code-block:: console $ spack load python $ spack load py-numpy -or, for dotkit: - -.. code-block:: console - - $ spack use python - $ spack use py-numpy - Now ``import numpy`` will succeed for as long as you keep your current session open. diff --git a/lib/spack/docs/config_yaml.rst b/lib/spack/docs/config_yaml.rst index 92030b8ac9..53398f55c2 100644 --- a/lib/spack/docs/config_yaml.rst +++ b/lib/spack/docs/config_yaml.rst @@ -74,7 +74,6 @@ the location for each type of module. e.g.: module_roots: tcl: $spack/share/spack/modules lmod: $spack/share/spack/lmod - dotkit: $spack/share/spack/dotkit See :ref:`modules` for details. diff --git a/lib/spack/docs/configuration.rst b/lib/spack/docs/configuration.rst index c89a90f2e9..7721c07a8e 100644 --- a/lib/spack/docs/configuration.rst +++ b/lib/spack/docs/configuration.rst @@ -463,7 +463,6 @@ account all scopes. For example, to see the fully merged module_roots: tcl: $spack/share/spack/modules lmod: $spack/share/spack/lmod - dotkit: $spack/share/spack/dotkit build_stage: - $tempdir/$user/spack-stage - ~/.spack/stage @@ -514,7 +513,6 @@ down the problem: /home/myuser/spack/etc/spack/defaults/config.yaml:32 module_roots: /home/myuser/spack/etc/spack/defaults/config.yaml:33 tcl: $spack/share/spack/modules /home/myuser/spack/etc/spack/defaults/config.yaml:34 lmod: $spack/share/spack/lmod - /home/myuser/spack/etc/spack/defaults/config.yaml:35 dotkit: $spack/share/spack/dotkit /home/myuser/spack/etc/spack/defaults/config.yaml:49 build_stage: /home/myuser/spack/etc/spack/defaults/config.yaml:50 - $tempdir/$user/spack-stage /home/myuser/spack/etc/spack/defaults/config.yaml:51 - ~/.spack/stage diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index ec3dc51eed..eeeffcc25f 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -71,7 +71,7 @@ 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 or dotkit <InstallEnvironmentModules>` is +If :ref:`environment-modules <InstallEnvironmentModules>` is installed and available, the ``spack`` command can also load and unload :ref:`modules <modules>`. diff --git a/lib/spack/docs/module_file_support.rst b/lib/spack/docs/module_file_support.rst index f6dbdf3f19..7ce2398af2 100644 --- a/lib/spack/docs/module_file_support.rst +++ b/lib/spack/docs/module_file_support.rst @@ -13,8 +13,8 @@ The use of module systems to manage user environment in a controlled way is a common practice at HPC centers that is often embraced also by individual programmers on their development machines. To support this common practice Spack integrates with `Environment Modules -<http://modules.sourceforge.net/>`_ , `LMod -<http://lmod.readthedocs.io/en/latest/>`_ and `Dotkit <https://computing.llnl.gov/?set=jobs&page=dotkit>`_ by +<http://modules.sourceforge.net/>`_ and `LMod +<http://lmod.readthedocs.io/en/latest/>`_ by providing post-install hooks that generate module files and commands to manipulate them. .. note:: @@ -67,7 +67,7 @@ to load the ``cmake`` module: $ module load cmake-3.7.2-gcc-6.3.0-fowuuby Neither of these is particularly pretty, easy to remember, or -easy to type. Luckily, Spack has its own interface for using modules and dotkits. +easy to type. Luckily, Spack has its own interface for using modules. ^^^^^^^^^^^^^ Shell support @@ -108,20 +108,10 @@ that the startup time may be slightly increased because of that. ^^^^^^^^^^^^^^^^^^^^^^^ Once you have shell support enabled you can use the same spec syntax -you're used to: +you're used to and you can use the same shortened names you use +everywhere else in Spack. -========================= ========================== -Modules Dotkit -========================= ========================== -``spack load <spec>`` ``spack use <spec>`` -``spack unload <spec>`` ``spack unuse <spec>`` -========================= ========================== - -And you can use the same shortened names you use everywhere else in -Spack. - -For example, if you are using dotkit, this will add the ``mpich`` -package built with ``gcc`` to your path: +For example this will add the ``mpich`` package built with ``gcc`` to your path: .. code-block:: console @@ -129,17 +119,10 @@ package built with ``gcc`` to your path: # ... wait for install ... - $ spack use mpich %gcc@4.4.7 # dotkit - Prepending: mpich@3.0.4%gcc@4.4.7 (ok) + $ spack load mpich %gcc@4.4.7 # modules $ which mpicc ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc -Or, similarly if you are using modules, you could type: - -.. code-block:: console - - $ spack load mpich %gcc@4.4.7 # modules - These commands will add appropriate directories to your ``PATH``, ``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH``. When you no longer want to use a package, you can type unload or unuse similarly: @@ -147,13 +130,12 @@ want to use a package, you can type unload or unuse similarly: .. code-block:: console $ spack unload mpich %gcc@4.4.7 # modules - $ spack unuse mpich %gcc@4.4.7 # dotkit .. note:: - These ``use``, ``unuse``, ``load``, and ``unload`` subcommands are + The ``load`` and ``unload`` subcommands are only available if you have enabled Spack's shell support *and* you - have dotkit or modules installed on your machine. + have environment-modules installed on your machine. ^^^^^^^^^^^^^^^^^^^^^^ Ambiguous module names @@ -292,8 +274,6 @@ that can be generated by Spack: +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+ | | **Hook name** | **Default root directory** | **Default template file** | **Compatible tools** | +=============================+====================+===============================+==============================================+======================+ - | **Dotkit** | ``dotkit`` | share/spack/dotkit | share/spack/templates/modules/modulefile.dk | DotKit | - +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+ | **TCL - Non-Hierarchical** | ``tcl`` | share/spack/modules | share/spack/templates/modules/modulefile.tcl | Env. Modules/LMod | +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+ | **Lua - Hierarchical** | ``lmod`` | share/spack/lmod | share/spack/templates/modules/modulefile.lua | LMod | @@ -377,7 +357,7 @@ are named ``modules.yaml``. The default configuration: .. literalinclude:: _spack_root/etc/spack/defaults/modules.yaml :language: yaml -activates the hooks to generate ``tcl`` and ``dotkit`` module files and inspects +activates the hooks to generate ``tcl`` module files and inspects the installation folder of each package for the presence of a set of subdirectories (``bin``, ``man``, ``share/man``, etc.). If any is found its full path is prepended to the environment variables listed below the folder name. @@ -399,12 +379,9 @@ to the generator being customized: modules: enable: - tcl - - dotkit - lmod tcl: # contains environment modules specific customizations - dotkit: - # contains dotkit specific customizations lmod: # contains lmod specific customizations @@ -590,15 +567,14 @@ do so by using the environment blacklist: .. code-block:: yaml modules: - dotkit: + tcl: all: filter: # Exclude changes to any of these variables environment_blacklist: ['CPATH', 'LIBRARY_PATH'] -The configuration above will generate dotkit module files that will not contain -modifications to either ``CPATH`` or ``LIBRARY_PATH`` and environment module -files that instead will contain these modifications. +The configuration above will generate module files that will not contain +modifications to either ``CPATH`` or ``LIBRARY_PATH``. .. _autoloading-dependencies: |