"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "doc/source/design/sticky-modules.rst" between
modules-5.1.1.tar.bz2 and modules-5.2.0.tar.bz2

About: The Environment Modules package provides for the dynamic modification of a user’s environment via modulefiles.

sticky-modules.rst  (modules-5.1.1.tar.bz2):sticky-modules.rst  (modules-5.2.0.tar.bz2)
skipping to change at line 14 skipping to change at line 14
============== ==============
Configuration Configuration
------------- -------------
- No specific configuration - No specific configuration
Specification Specification
------------- -------------
- Once loaded a sticky module cannot be unloaded unless forced or reloaded. - Once loaded a sticky module cannot be unloaded unless
- forced
- or reloaded
- or when restoring a collection
- or resetting to initial environment state
- If module is super-sticky instead of sticky, it cannot be unloaded even if for ced, only if it is reloaded afterward - If module is super-sticky instead of sticky, it cannot be unloaded even if for ced, only if it is reloaded afterward
- Stickiness definition relies on :ref:`module-tags` - Stickiness definition relies on :ref:`module-tags`
- ``module-tag sticky foo/1.0`` defines module *foo/1.0* as sticky - ``module-tag sticky foo/1.0`` defines module *foo/1.0* as sticky
- ``module-tag super-sticky foo/1.0`` defines module *foo/1.0* as super-stic - ``module-tag super-sticky foo/1.0`` defines module *foo/1.0* as super-sticky
ky
- Stickiness specified over a symbolic version or a module alias has no effect - Stickiness specified over a symbolic version or a module alias has no effect
- ``module-tag`` allows to specify a symbolic module version or a module ali - ``module-tag`` allows to specify a symbolic module version or a module alias
as - but associated tag will apply to the symbolic version or alias only
- but associated tag will apply to the symbolic version or alias only - as modulefile targeted by symbol or alias does not inherit their tags
- as modulefile targeted by symbol or alias does not inherit their tags - so a sticky or super-sticky tag set on a symbolic version or alias has no ef
- so a sticky or super-sticky tag set on a symbolic version or alias has no fect
effect
- Sticky module can be swapped with another version from same module when sticki ness is defined over module parent name - Sticky module can be swapped with another version from same module when sticki ness is defined over module parent name
- For instance if stickiness is defined over module *foo*, *foo/1.0* can be - For instance if stickiness is defined over module *foo*, *foo/1.0* can be sw
swapped with *foo/2.0* apped with *foo/2.0*
- Such swap could occur from a ``restore`` or a ``switch`` sub-command - Such swap could occur from a ``restore`` or a ``switch`` sub-command
- As soon as stickiness is defined over a precise module version name (like - As soon as stickiness is defined over a precise module version name (like *f
*foo/1.0*) such module cannot be swapped by another version of *foo* module oo/1.0*) such module cannot be swapped by another version of *foo* module
- Stickiness defined over module parent name (like *foo*) means *any version - Stickiness defined over module parent name (like *foo*) means *any version f
from module foo must be loaded* rom module foo must be loaded*
- When stickiness is defined for several module versions using advanced vers - When stickiness is defined for several module versions using advanced versio
ion specifiers like *foo@1:* or *foo@1.0,2.0* n specifiers like *foo@1:* or *foo@1.0,2.0*
- it means stickiness applies to the module versions - it means stickiness applies to the module versions
- thus they cannot be swapped by another version - thus they cannot be swapped by another version
- In case stickiness is defined over module parent name and another ``module -tag`` defines stickiness over specific module version name - In case stickiness is defined over module parent name and another ``module-t ag`` defines stickiness over specific module version name
- it means stickiness applies to the module version - it means stickiness applies to the module version
- thus these versions targeted specifically with ``module-tag`` cannot b - thus these versions targeted specifically with ``module-tag`` cannot be sw
e swapped by another version from same module apped by another version from same module
- When a super-sticky module depends on a non-super-sticky module - When a super-sticky module depends on a non-super-sticky module
- If a forced ``purge`` command occurs, the dependent module will be unloade - If a forced ``purge`` command occurs, the dependent module will be unloaded
d - Which let the super-sticky module with a missing dependency
- Which let the super-sticky module with a missing dependency
- Starting Modules 5.2, sticky modules are unloaded
- On :subcmd:`restore` sub-command
- On :subcmd:`reset` sub-command if :mconfig:`reset_target_state` is not equal
to ``__purge__``
- No specific error or warning message
- This is allowed to fully restore the collection in its targeted state
- No change for super-sticky modules
- An error is reported when trying to unload a sticky or super-sticky module - An error is reported when trying to unload a sticky or super-sticky module
- As the expected unload is not performed - As the expected unload is not performed
- So with the return code and message, user knows that what he/she asked for - So with the return code and message, user knows that what he/she asked for w
was not done as not done
- Same goes for the ``purge`` command: user expects no more module loaded - Same goes for the ``purge`` command: user expects no more module loaded
- so an error is returned as after the command the sticky module is stil l loaded - so an error is returned as after the command the sticky module is still lo aded
- When the unload is forced a warning message is reported - When the unload is forced a warning message is reported
- the sticky module is unloaded as expected but a warning message is don - the sticky module is unloaded as expected but a warning message is done
e - as the module was tagged not to be unloaded by default
- as the module was tagged not to be unloaded by default - user should know he/she has done something specific
- user should know he/she has done something specific
Current limitations Current limitations
------------------- -------------------
- When swapping a sticky module explicitly targeted by the ``module-tag`` comman d and which is the default version - When swapping a sticky module explicitly targeted by the ``module-tag`` comman d and which is the default version
- For instance ``module-tag sticky foo/1.0`` and ``module-version foo/1.0 de - For instance ``module-tag sticky foo/1.0`` and ``module-version foo/1.0 defa
fault`` ult``
- If specified swapped-on module is the generic module name, for instance *f - If specified swapped-on module is the generic module name, for instance *foo
oo* *
- ``switch`` sub-command raises an error even if the sticky module is the de - ``switch`` sub-command raises an error even if the sticky module is the defa
fault version (either implicit or explicitly set) for this module ult version (either implicit or explicitly set) for this module
.. vim:set tabstop=2 shiftwidth=2 expandtab autoindent:
 End of changes. 13 change blocks. 
38 lines changed or deleted 49 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)