github cea-hpc/modules v5.3.0
5.3.0

latest releases: v5.4.0, v5.3.1
11 months ago
  • Add module-cache design notes.
  • Add cachebuild sub-command to create cache for modulepaths enabled or specified on the command line. Cache files are named .modulecache and stored at the root of modulepath directories.
  • Add cacheclear sub-command to delete cache file in all enabled modulepaths.
  • Use cache file if available rather search the content of modulepath directories when searching for modules (e.g., during avail, load, display, etc).
  • Script: add cache-enabled version of avail, whatis and load tests on mb benchmark utility.
  • Add the ignore_cache configuration option to ignore module cache file. Option is disabled by default and when set, it defines MODULES_IGNORE_CACHE environment variable.
  • Add --ignore-cache command-line switch to enable ignore_cache configuration option and ignore module cache file for current execution.
  • Add cache_buffer_bytes configuration option to define buffer size when reading or writing cache files. Option is set to 32768 by default. When set it defines MODULES_CACHE_BUFFER_BYTES environment variable.
  • Add cache_expiry_secs configuration option that defines the number of seconds a cache file is considered valid after being generated. Option is set to 0 by default which means cache files never expire. When option is set it defines MODULES_CACHE_EXPIRY_SECS environment variable.
  • Modulefiles and directories that are not accessible by everyone are not recorded in cache file. A limited access directive is recorded instead to indicate these modulefiles have to be tested and directories have to be walked down to determine what the running user can access.
  • Doc: update reduce-io-load cookbook recipe with module cache description.
  • Correctly apply extra tag set when loading a module whose variant has value automatically set. (fix issue #484)
  • Catch collection directory creation error and report appropriate message. (fix issue #482)
  • Fix source-sh and sh-to-mod shell alias translation when used with new fish shell version (3.6).
  • Install: allow to build Modules from a short-depth git repository. (fix issue #486)
  • Install: ensure git log format is not influenced by user's configuration in gitlog2changelog.py. (fix issue #487)
  • Init: fix bash shell completion script to be able to complete full name of available modules. (fix issue #490)
  • Install: move licence name to SPDX format in RPM spec file.
  • Doc: add extra-match-search design notes.
  • Introduce extra match search mechanism that evaluates available modulefiles during a module search to find those matching an extra query on a variant value, a dependency or an environment variable definition. During this specific evaluation, modulefiles are interpreted in scan mode.
  • scan string is returned by module-info mode when queried during a scan modulefile evaluation.
  • Add the variant element in the allowed value list of the avail_output and avail_terse_output configuration options. When set, variants and their possible values are reported along the module they are associated to on avail command output. Adding variant information to this output activates the extra match search mechanism that scan modulefiles to find variants they define. (fix issue #407)
  • Apply graphic rendition of default version (de SGR key) to default variant value on either list and avail command output.
  • Apply either loaded or auto-loaded graphic rendition to the loaded variant value on avail command output.
  • Update avail, paths and whatis sub-commands to take into account variant set in module specification. Available modules are filtered with extra match search mechanism to only return those matching the variant specification.
  • Update avail, paths and whatis sub-commands to accept module specification with just a variant set (no module name and version). Available modules are filtered with extra match search mechanism to only return those matching the variant specification.
  • Update list sub-command to accept module specification with just a variant set (no module name and version). Loaded modules are filtered to only return those matching the variant specification.
  • Highlight searched variant name and value (hi SGR key) on either list and avail command output.
  • Doc: add Extra match search description in module(1) man page.
  • Introduce extra specifiers to query content of modulefiles. Extra specifiers can be specified with element:name syntax as part of module specification on module search commands (avail, paths and whatis). For instance with the module avail append-path:PATH command, all modulefiles defining the append-path command on PATH environment variable are returned.
  • Add variant extra specifier to query modulefile variant definitions. (fix issue #408)
  • Add setenv, unsetenv, append-path, prepend-path, remove-path and pushenv extra specifiers to query modulefile environment variable definitions. The extra specifier alias envvar may also be used to query any of these modulefile commands.
  • Add complete and uncomplete extra specifiers to query modulefile shell completion definitions.
  • Add set-alias and unset-alias extra specifiers to query modulefile shell alias definitions.
  • Add set-function and unset-function extra specifiers to query modulefile shell function definitions.
  • Add chdir extra specifier to query modulefile current working directory change definitions.
  • Add family extra specifier to query modulefile family definitions.
  • Add prereq, prereq-any, prereq-all, depends-on, always-load, load, load-any, try-load, switch and switch-on extra specifiers to query modulefile requirement definitions. The extra specifier alias require may also be used to query any of these modulefile commands.
  • Add conflict, unload, switch and switch-off extra specifiers to query modulefile incompatibility definitions. The extra specifier alias incompat may also be used to query any of these modulefile commands.
  • Requirement and incompatibility extra specifiers accept module specification as value.
  • Doc: add Extra specifier description in module(1) man page.
  • Mark loaded modules as qualified for refresh evaluation when they send content to stdout or prestdout channels with puts modulefile command. (fix issue #488)
  • Add the ignore_user_rc configuration option to skip evaluation of user-specific module rc file. Option is disabled by default and when set, it defines MODULES_IGNORE_USER_RC environment variable.
  • Add --ignore-user-rc command-line switch to enable ignore_user_rc configuration option and ignore user-specific module rc file for current execution.
  • Add the variantifspec element in the allowed value list of the avail_output and avail_terse_output configuration options. Set this new element in the default value list of both options. When set and if a variant is specified in search query, variants and their possible values are reported along the module they are associated to on avail command output.
  • Accept value starting with + or - characters on --output/-o command-line switches to indicate value should respectively be appended to or subtracted from current configuration option value.
  • Accept value starting with + or - characters on avail_output, avail_terse_output, list_output, list_terse_output, colors, protected_envvars, shells_with_ksh_fpath, tag_abbrev, tag_color_name, variant_shortcut configuration options to indicate value should respectively be appended to or subtracted from current configuration option value.
  • Fix switch sub-command not to unload sticky module when switched-on module does not exist. (fix issue #492)

Don't miss a new modules release

NewReleases is sending notifications on new releases.