From e81c0c3e2c1a45c77d91fbffb2911b9dc3511272 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 11 Apr 2018 22:53:09 +0200 Subject: Updated references to `spack module` in the documentation. --- lib/spack/docs/developer_guide.rst | 2 +- lib/spack/docs/getting_started.rst | 4 +-- lib/spack/docs/module_file_support.rst | 51 ++++++++++++++-------------------- lib/spack/docs/tutorial_modules.rst | 24 ++++++++-------- lib/spack/docs/workflows.rst | 20 ++++++------- 5 files changed, 46 insertions(+), 55 deletions(-) (limited to 'lib') diff --git a/lib/spack/docs/developer_guide.rst b/lib/spack/docs/developer_guide.rst index 103a893901..c44806bd61 100644 --- a/lib/spack/docs/developer_guide.rst +++ b/lib/spack/docs/developer_guide.rst @@ -314,7 +314,7 @@ See the `Argparse documentation >~/.bashrc + $ spack tcl loads curl >>~/.bashrc or if environment modules don't work: diff --git a/lib/spack/docs/module_file_support.rst b/lib/spack/docs/module_file_support.rst index 2351f935b5..67e041e061 100644 --- a/lib/spack/docs/module_file_support.rst +++ b/lib/spack/docs/module_file_support.rst @@ -181,7 +181,7 @@ To identify just the one built with the Intel compiler. .. _cmd-spack-module-loads: ^^^^^^^^^^^^^^^^^^^^^^ -``spack module loads`` +``spack tcl loads`` ^^^^^^^^^^^^^^^^^^^^^^ In some cases, it is desirable to load not just a module, but also all @@ -195,21 +195,13 @@ Scripts to load modules recursively may be made with the command: .. code-block:: console - $ spack module loads --dependencies + $ spack tcl loads --dependencies An equivalent alternative using `process substitution `_ is: .. code-block :: console - $ source <( spack module loads --dependencies ) - -.. warning:: - - The ``spack load`` command does not currently accept the - ``--dependencies`` flag. Use ``spack module loads`` instead, for - now. - -.. See #1662 + $ source <( spack tcl loads --dependencies ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -219,12 +211,12 @@ Module Commands for Shell Scripts Although Spack is flexible, the ``module`` command is much faster. This could become an issue when emitting a series of ``spack load`` commands inside a shell script. By adding the ``--shell`` flag, -``spack module find`` may also be used to generate code that can be +``spack tcl find`` may also be used to generate code that can be cut-and-pasted into a shell script. For example: .. code-block:: console - $ spack module loads --dependencies py-numpy git + $ spack tcl loads --dependencies py-numpy git # bzip2@1.0.6%gcc@4.9.3=linux-x86_64 module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx # ncurses@6.0%gcc@4.9.3=linux-x86_64 @@ -264,9 +256,9 @@ Module Prefixes ^^^^^^^^^^^^^^^ On some systems, modules are automatically prefixed with a certain -string; ``spack module loads`` needs to know about that prefix when it +string; ``spack tcl loads`` needs to know about that prefix when it issues ``module load`` commands. Add the ``--prefix`` option to your -``spack module loads`` commands if this is necessary. +``spack tcl loads`` commands if this is necessary. For example, consider the following on one system: @@ -275,11 +267,11 @@ For example, consider the following on one system: $ module avail linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y - $ spack module loads antlr # WRONG! + $ spack tcl loads antlr # WRONG! # antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64 module load antlr-2.7.7-gcc-5.3.0-bdpl46y - $ spack module loads --prefix linux-SuSE11-x86_64/ antlr + $ spack tcl loads --prefix linux-SuSE11-x86_64/ antlr # antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64 module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y @@ -631,37 +623,36 @@ The allowed values for the ``autoload`` statement are either ``none``, Maintaining Module Files ------------------------ -Spack not only provides great flexibility in the generation of module files -and in the customization of both their layout and content, but also ships with -a tool to ease the burden of their maintenance in production environments. -This tool is the ``spack module`` command: +Each type of module file has a command with the same name associated +with it. The actions these commands permit are usually associated +with the maintenance of a production environment. Here's, for instance, +a sample of the features of the ``spack tcl`` command: .. command-output:: spack tcl --help .. _cmd-spack-module-refresh: -^^^^^^^^^^^^^^^^^^^^^^^^ -``spack module refresh`` -^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^ +Refresh the set of modules +^^^^^^^^^^^^^^^^^^^^^^^^^^ -The command that regenerates module files to update their content or -their layout is ``module refresh``: +The subcommand that regenerates module files to update their content or +their layout is ``refresh``: .. command-output:: spack tcl refresh --help A set of packages can be selected using anonymous specs for the optional -``constraint`` positional argument. The argument ``--module-type`` identifies -the type of module files to refresh. Optionally the entire tree can be deleted +``constraint`` positional argument. Optionally the entire tree can be deleted before regeneration if the change in layout is radical. .. _cmd-spack-module-rm: ^^^^^^^^^^^^^^^^^^^ -``spack module rm`` +Delete module files ^^^^^^^^^^^^^^^^^^^ If instead what you need is just to delete a few module files, then the right -command is ``module rm``: +subcommand is ``rm``: .. command-output:: spack tcl rm --help diff --git a/lib/spack/docs/tutorial_modules.rst b/lib/spack/docs/tutorial_modules.rst index 7ed60c934f..1ae4bd79ea 100644 --- a/lib/spack/docs/tutorial_modules.rst +++ b/lib/spack/docs/tutorial_modules.rst @@ -422,7 +422,7 @@ Next you should regenerate all the module files: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type tcl + root@module-file-tutorial:/# spack tcl refresh ==> You are about to regenerate tcl module files for: -- linux-ubuntu16.04-x86_64 / gcc@5.4.0 ------------------------- @@ -484,7 +484,7 @@ and regenerate the module files: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type tcl --delete-tree + root@module-file-tutorial:/# spack tcl refresh --delete-tree ==> You are about to regenerate tcl module files for: -- linux-ubuntu16.04-x86_64 / gcc@5.4.0 ------------------------- @@ -538,7 +538,7 @@ exceptions to the blacklist rules you can use ``whitelist``: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type tcl -y + root@module-file-tutorial:/# spack tcl refresh -y ==> Regenerating tcl module files @@ -584,7 +584,7 @@ If you try to regenerate the module files now you will get an error: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type tcl --delete-tree -y + root@module-file-tutorial:/# spack tcl refresh --delete-tree -y ==> Error: Name clashes detected in module files: file: /usr/local/share/spack/modules/linux-ubuntu16.04-x86_64/netlib-scalapack-2.0.2-gcc-7.2.0 @@ -631,7 +631,7 @@ Regenerating module files now we obtain: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type tcl --delete-tree -y + root@module-file-tutorial:/# spack tcl refresh --delete-tree -y ==> Regenerating tcl module files root@module-file-tutorial:/# module avail @@ -677,7 +677,7 @@ The final result should look like: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type tcl --delete-tree -y + root@module-file-tutorial:/# spack tcl refresh --delete-tree -y ==> Regenerating tcl module files root@module-file-tutorial:/# module avail @@ -748,7 +748,7 @@ Regenerating the module files results in something like: .. code-block:: console :emphasize-lines: 15 - root@module-file-tutorial:/# spack module refresh -y --module-type tcl + root@module-file-tutorial:/# spack tcl refresh -y ==> Regenerating tcl module files root@module-file-tutorial:/# module show gcc @@ -819,10 +819,10 @@ This time we will be more selective and regenerate only the ``gcc`` and .. code-block:: console - root@module-file-tutorial:/# spack module refresh -y --module-type tcl gcc + root@module-file-tutorial:/# spack tcl refresh -y gcc ==> Regenerating tcl module files - root@module-file-tutorial:/# spack module refresh -y --module-type tcl openmpi + root@module-file-tutorial:/# spack tcl refresh -y openmpi ==> Regenerating tcl module files root@module-file-tutorial:/# module show gcc @@ -926,7 +926,7 @@ and regenerating the module files for every package that depends on ``python``: .. code-block:: console - root@module-file-tutorial:/# spack module refresh -y --module-type tcl ^python + root@module-file-tutorial:/# spack tcl refresh -y ^python ==> Regenerating tcl module files Now the ``py-scipy`` module will be: @@ -1102,7 +1102,7 @@ If we now regenerate the module files: .. code-block:: console - root@module-file-tutorial:/# spack module refresh --module-type lmod --delete-tree -y + root@module-file-tutorial:/# spack lmod refresh --delete-tree -y ==> Regenerating lmod module files and update ``MODULEPATH`` to point to the ``Core``: @@ -1293,7 +1293,7 @@ After module files have been regenerated as usual: root@module-file-tutorial:/# module purge - root@module-file-tutorial:/# spack module refresh --delete-tree -y -m lmod + root@module-file-tutorial:/# spack lmod refresh --delete-tree -y ==> Regenerating lmod module files we can see that now we have additional components in the hierarchy: diff --git a/lib/spack/docs/workflows.rst b/lib/spack/docs/workflows.rst index b7d5a0ce43..d3a60d9490 100644 --- a/lib/spack/docs/workflows.rst +++ b/lib/spack/docs/workflows.rst @@ -276,11 +276,11 @@ have some drawbacks: 2. The ``spack spec`` and ``spack install`` commands use a sophisticated concretization algorithm that chooses the "best" among several options, taking into account ``packages.yaml`` file. - The ``spack load`` and ``spack module loads`` commands, on the + The ``spack load`` and ``spack tcl loads`` commands, on the other hand, are not very smart: if the user-supplied spec matches - more than one installed package, then ``spack module loads`` will + more than one installed package, then ``spack tcl loads`` will fail. This may change in the future. For now, the workaround is to - be more specific on any ``spack module loads`` lines that fail. + be more specific on any ``spack tcl loads`` lines that fail. """""""""""""""""""""" @@ -290,7 +290,7 @@ Generated Load Scripts Another problem with using `spack load` is, it is slow; a typical user environment could take several seconds to load, and would not be appropriate to put into ``.bashrc`` directly. It is preferable to use -a series of ``spack module loads`` commands to pre-compute which +a series of ``spack tcl loads`` commands to pre-compute which modules to load. These can be put in a script that is run whenever installed Spack packages change. For example: @@ -301,7 +301,7 @@ installed Spack packages change. For example: # Generate module load commands in ~/env/spackenv cat <$HOME/env/spackenv - FIND='spack module loads --prefix linux-SuSE11-x86_64/' + FIND='spack tcl loads --prefix linux-SuSE11-x86_64/' \$FIND modele-utils \$FIND emacs @@ -346,14 +346,14 @@ Users may now put ``source ~/env/spackenv`` into ``.bashrc``. Some module systems put a prefix on the names of modules created by Spack. For example, that prefix is ``linux-SuSE11-x86_64/`` in the above case. If a prefix is not needed, you may omit the - ``--prefix`` flag from ``spack module loads``. + ``--prefix`` flag from ``spack tcl loads``. """"""""""""""""""""""" Transitive Dependencies """"""""""""""""""""""" -In the script above, each ``spack module loads`` command generates a +In the script above, each ``spack tcl loads`` command generates a *single* ``module load`` line. Transitive dependencies do not usually need to be loaded, only modules the user needs in ``$PATH``. This is because Spack builds binaries with RPATH. Spack's RPATH policy has @@ -394,13 +394,13 @@ Unfortunately, Spack's RPATH support does not work in all case. For example: In cases where RPATH support doesn't make things "just work," it can be necessary to load a module's dependencies as well as the module itself. This is done by adding the ``--dependencies`` flag to the -``spack module loads`` command. For example, the following line, +``spack tcl loads`` command. For example, the following line, added to the script above, would be used to load SciPy, along with Numpy, core Python, BLAS/LAPACK and anything else needed: .. code-block:: sh - spack module loads --dependencies py-scipy + spack tcl loads --dependencies py-scipy ^^^^^^^^^^^^^^ Dummy Packages @@ -630,7 +630,7 @@ environments: and extension packages. * Views and activated extensions maintain state that is semantically - equivalent to the information in a ``spack module loads`` script. + equivalent to the information in a ``spack tcl loads`` script. Administrators might find things easier to maintain without the added "heavyweight" state of a view. -- cgit v1.2.3-60-g2f50