Modules 4.2.3 released
timestamp1553346660001
Modules version 4.2.3 has just been released. This new release in the 4.2 series has a specific focus on error management. When the evaluation of a modulefile fails during an automated module handling mechanisms everything is now done to get or to keep at the end of all evaluations a consistent environment.
The changes introduced in this bugfix release are:
- Add all the module dependency-related internal information to those saved prior a modulefile evaluation in order to correctly restore internal state in case modulefile evaluation fails.
- Init: in shell initialization scripts, initialize
MANPATH
if not set with a value that preservesmanpath
system configuration even after addition of paths to this variable by modulefiles. (fix issue#224) - Enable to define an entire path entry to the
MODULEPATH
variable which corresponds to a variable reference only. (fix issue#223) - Cookbook: add the modulefiles-in-git recipe. (contribution from Scott Johnson)
- When
module switch
commands are found in modulefiles, track switched-off modulefile as a conflict and switched-to modulefile as a requirement to apply same behaviors than formodule load
andmodule unload
commands in modulefiles. Ifmodule switch
has only one argument, do not define a conflict toward switched-off modulefile. CAUTION: it is not recommended to usemodule switch
command in modulefiles. (fix issue#229) - When unloading a module, revert
module switch
commands found in modulefile: switched-on module is converted to amodule unload
, like formodule load
command. Nothing is done for switched-off module, like formodule unload
command. (fix issue#226) - For default element in a modulefile directory which is a module alias that points to a modulefile, when this modulefile is loaded, it receives as alternative names the eventual module aliases set on the distant directory holding the alias pointing to it. (fix issue#231)
- When unloading a module that contains
module load
ormodule switch
commands in its modulefile, select for unload the automatically loaded requirement module which has been loaded prior its dependent. (fix issue#232) - Doc: describe Emacs settings useful for adhering to coding conventions in CONTRIBUTING guide. (fix issue#233 with contribution from Ben Bowers)
- When looking for a loaded or loading dependency requirement, select among the eventual multiple candidates the closest match to the dependent module.
- During the unload of a module, if the unload of one of its dependent (by the Dependent Unload mechanism) fails, abort the whole unload process. Exception made if the force mode is enabled. In this case failing module stays loaded and the Dependent Unload mechanism continues with next module to unload.
- During the unload of a module, if the unload of one of its useless requirements (by the Useless Requirement Unload mechanism) fails, keep the requirements of this failing module loaded. Such error is reported as a warning and it does not stop the whole unload process. (fix issue#240)
- During the load or the unload of a module, if the unload of one of its dependent (by the Dependent Reload mechanism) fails, abort the whole unload or load process. Exception made if the force mode is enabled. In this case failing module stays loaded and Dependent Reload mechanism continues with next module to unload. This failing module is removed from the Dependent Reload list, so it will not take part of the load phrase of the mechanism. (fix issue#239)
- During the load or the unload of a module, if the load of one of its dependent (by the Dependent Reload mechanism) fails, abort the whole unload or load process. Exception made if the force mode is enabled. In this case failing module stays loaded and Dependent Reload mechanism continues with next module to load. When the mechanism is applied during a
switch
command, force mode is enabled by default on the load phase. (fix issue#241) - When reloading all loaded modules with the
reload
sub-command, if one reloading module fails to unload or load, abort the whole reload process to preserve environment sanity. (fix issue#237) - During the unload of a module when the automated module handling mode is disabled and this module declares its requirements with the
module load
modulefile command. If the unload of one of its useless requirements (by the Useless Requirement Unload mechanism) fails, whole unload process is not aborted and continue with next module to unload. (fix issue#238) - Contrib: add
mtreview
utility script that analyzes test suite log file to compare actual and expected output of failed test.mt
does not output the full test suite logs anymore but only the information produced bymtreview
on failed tests. - Install: exclude Continuous Integration configurations from dist tarballs.
The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.
http://modules.readthedocs.io/en/stable/NEWS.html
http://modules.readthedocs.io/en/stable/MIGRATING.html
The tarball of this new version can be downloaded at:
http://downloads.sourceforge.net/modules/modules-4.2.3.tar.gz
If you encounter any issue, please let us know by creating a ticket on
the project bug tracker at: