ChangeLog (modules-5.1.1.tar.bz2) | : | ChangeLog (modules-5.2.0.tar.bz2) | ||
---|---|---|---|---|
2022-11-08 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* MIGRATING.rst, NEWS.rst, contrib/rpm/environment-modules.spec.in, | ||||
doc/source/conf.py, version.inc.in: Release of version 5.2.0 | ||||
2022-11-05 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, NEWS.rst, doc/source/module.rst: doc: extend Collections | ||||
desc in module man | ||||
2022-11-03 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* CONTRIBUTING.rst, INSTALL-win.rst, INSTALL.rst, | ||||
contrib/vim/syntax/modulefile.vim, | ||||
doc/source/cookbook/log-module-commands.rst: doc/vim: update tcl.tk links | ||||
into tcl-lang.org | ||||
* doc/source/module.rst: doc: desc hooks made with rename in module man | ||||
2022-11-01 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, MIGRATING.rst: doc: desc. siteconfig hook var in MIGRATING | ||||
* MIGRATING.rst: doc: fix path issue in sticky module examples | ||||
2022-10-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, NEWS.rst, doc/source/module.rst, siteconfig.tcl: doc: add | ||||
Site-specific configuration section in man | ||||
2022-10-29 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/example/siteconfig.tcl-1, testsuite/modulefiles.3/.modulerc, | ||||
testsuite/modulefiles.3/interp/.modulerc, testsuite/modulefiles.3/interp/0, | ||||
testsuite/modulefiles.3/interp/1, testsuite/modulefiles.3/interp/2, | ||||
.../modules.50-cmds/560-siteconfig-interp.exp: ts: test specific vars/cmds | ||||
hooks in 50/560 | ||||
2022-10-21 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, NEWS.rst, doc/source/conf.py: doc: desc. cmds/vars hooks | ||||
in NEWS | ||||
* siteconfig.tcl, tcl/mfinterp.tcl.in: Add hooks for specific vars/cmds in | ||||
modulerc interp ctx Introduce hooks to define specific variables and | ||||
commands for modulerc interpreter context. It relies on variables defined in | ||||
siteconfig.tcl configuration file: * modulerc_extra_vars is a list of | ||||
variable name and value pairs * modulerc_extra_cmds is a list of command | ||||
name and procedure pairs Fixes #286 | ||||
* siteconfig.tcl, tcl/mfinterp.tcl.in: Add hooks for specific vars/cmds in | ||||
modulefile interp ctx Introduce hooks to define specific variables and | ||||
commands for modulefile interpreter context. It relies on variables defined | ||||
in siteconfig.tcl configuration file: * modulefile_extra_vars is a list of | ||||
variable name and value pairs * modulefile_extra_cmds is a list of command | ||||
name and procedure pairs Fixes #286 | ||||
2022-10-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/modfind.tcl.in: Remove modvr default value on setLoadedModule proc | ||||
2022-10-30 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/025-autoinit.exp, | ||||
.../modules.20-locate/130-mcookie_check_eval.exp, | ||||
testsuite/modules.50-cmds/075-alias.exp, | ||||
testsuite/modules.50-cmds/076-alias-sub.exp, | ||||
testsuite/modules.50-cmds/077-alias-undo.exp, | ||||
testsuite/modules.50-cmds/078-refresh.exp, | ||||
testsuite/modules.50-cmds/083-info-mode.exp, | ||||
testsuite/modules.50-cmds/084-info-mode-exp.exp, | ||||
testsuite/modules.50-cmds/282-info-command.exp, | ||||
testsuite/modules.50-cmds/283-info-command-exp.exp, | ||||
testsuite/modules.50-cmds/350-allin.exp, | ||||
testsuite/modules.50-cmds/360-restoreenv.exp, | ||||
testsuite/modules.50-cmds/390-function.exp, | ||||
testsuite/modules.50-cmds/391-function-undo.exp, | ||||
testsuite/modules.50-cmds/400-source-sh.exp, | ||||
testsuite/modules.50-cmds/540-complete.exp, | ||||
testsuite/modules.50-cmds/541-uncomplete.exp, | ||||
testsuite/modules.70-maint/120-autoinit.exp, | ||||
testsuite/modules.70-maint/210-clear.exp: ts: adapt existing tests to | ||||
__MODULES_LMREFRESH | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
refresh only modules requiring it | ||||
* .aspell.en.pws, NEWS.rst, doc/source/changes.rst, doc/source/module.rst: | ||||
doc: desc. __MODULES_LMREFRESH in NEWS/man/changes | ||||
* tcl/subcmd.tcl.in: Only refresh loaded modules requiring it Use the | ||||
qualified refresh property to only evaluate in refresh mode the loaded | ||||
modules marked with this property. Fixes #477 | ||||
* tcl/mfinterp.tcl.in, tcl/modeval.tcl, tcl/modfind.tcl.in, | ||||
tcl/subcmd.tcl.in: Track loaded modules qualified for refresh eval Track | ||||
loaded modules that are qualified for a refresh evaluation. Refresh | ||||
evaluation is only useful if module defines volatile environment changes: | ||||
shell completion, alias or function. An internal state, named | ||||
refresh_qualified, marks loading modules defining such volatile environment | ||||
changes. Such modules are then added to the __MODULES_LMREFRESH environment | ||||
variable to track this property once module is loaded. Code is also added | ||||
to remove module from __MODULES_LMREFRESH when it is unloaded. | ||||
* .github/workflows/differential_shellcheck.yml, | ||||
.github/workflows/lint_tests.yaml, .github/workflows/linux_tests.yaml, | ||||
.github/workflows/windows_tests.yaml, CONTRIBUTING.rst, Makefile, NEWS.rst, | ||||
README.md, configure, doc/source/conf.py, | ||||
doc/source/cookbook/modulefiles-in-git.rst, script/mpub, script/mrel: Use | ||||
main as new name for default git branch | ||||
2022-10-28 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .github/workflows/windows_tests.yaml: gh: use cygwin-install-action rather | ||||
builtin chocolatey Chocolatey version 1.2.0 shipped with latest windows | ||||
2022 image does not seem to correctly install packages from Cygwin source. | ||||
So move to cygwin/cygwin-install-action to install Cygwin packages. | ||||
* Makefile: install: use newer version of nagelfar (1.3.3) | ||||
2022-10-17 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
.../modules.20-locate/112-hide-user-group.exp, | ||||
.../modules.20-locate/117-forbid-user-group.exp, | ||||
testsuite/modules.20-locate/119-hide-cascading.exp, | ||||
testsuite/modules.50-cmds/287-info-usergroups.exp, | ||||
testsuite/modules.50-cmds/440-module-tag.exp, | ||||
testsuite/modules.70-maint/220-config.exp, | ||||
testsuite/modules.70-maint/390-state.exp: ts: fix testsuite run when id cmd | ||||
cannot resolve group Update testsuite to cope with user group whose name | ||||
cannot be resolved. Fixes #476. | ||||
2022-10-16 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* Makefile, NEWS.rst, init/Makefile, init/zsh.in, tcl/subcmd.tcl.in, | ||||
testsuite/modules.70-maint/120-autoinit.exp: Revert "init: setup zsh FPATH | ||||
through autoinit command" This reverts commit | ||||
59ac24e2431df012d8b22872a0e8fd1e86a20e9f. FPATH variable cannot be handled | ||||
within autoinit process as this is not an environment variable. Thus when | ||||
modulecmd.tcl is executed, it does not know the current value of FPATH. So | ||||
if it sets FPATH during autoinit, previous value of this variable is lost. | ||||
As a result FPATH must stay defined in initialization script. | ||||
2022-10-14 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, NEWS.rst, doc/example/log-module-commands/siteconfig.tcl, | ||||
doc/source/cookbook/log-module-commands.rst: doc: fix logging sys on | ||||
log-module-command recipe Update log-module-command recipe to ensure the | ||||
logging system is not broken by the current user environment. Fixes #475. | ||||
2022-10-13 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/005-init_ts.exp: ts: skip basheu tests on bash | ||||
5.2 bash -eu test of install testsuite are skipped on new version of bash | ||||
(5.2) as internal messages currently appear when using module function with | ||||
-eu options on this version. A bug as been submitted to the bash | ||||
developers: | ||||
https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00073.html | ||||
2022-10-12 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .github/workflows/linux_tests.yaml: gh: update to codecov-action v3 | ||||
* .github/workflows/lint_tests.yaml, .github/workflows/linux_tests.yaml, | ||||
.github/workflows/windows_tests.yaml: gh: update actions/upload-artifact to | ||||
v3 | ||||
* .github/workflows/lint_tests.yaml, .github/workflows/linux_tests.yaml, | ||||
.github/workflows/windows_tests.yaml: gh: update actions/checkout to v3 | ||||
* .github/workflows/windows_tests.yaml: gh: move windows tests to | ||||
windows-2022 image | ||||
2022-10-11 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.70-maint/210-clear.exp: ts: fix env of clear subcmd test | ||||
case | ||||
* Makefile: install: correct arg order for date cmd on FreeBSD | ||||
2022-10-10 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* MIGRATING.rst: doc: desc. stash env in MIGRATING | ||||
2022-10-07 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/module.rst: doc: desc stash in collection section of man page | ||||
* testsuite/modules.70-maint/457-stash-savelist.exp: ts: test savelist | ||||
subcmd with stash collections | ||||
2022-10-06 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/design/stash-environment.rst, doc/source/module.rst: | ||||
doc: desc. savelist stash filter in design/NEWS/man doc | ||||
* tcl/subcmd.tcl.in: Filter stash collection on savelist Update savelist | ||||
sub-command to filter out stash collections unless --all option is set. | ||||
* testsuite/modules.70-maint/456-stash-restore.exp: ts: test restore subcmd | ||||
with stash collections | ||||
2022-10-05 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* init/bash_completion.in, init/fish_completion, init/tcsh_completion.in, | ||||
init/zsh-functions/_module.in: init: update completion with stashlist output | ||||
Update stashpop, stashrm and stashshow completion definition to use | ||||
stashlist output. | ||||
2022-10-04 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/010-environ.exp, | ||||
testsuite/modules.00-init/010-environ.exp: ts: clear | ||||
MODULES_QUARANTINE_SUPPORT prior tests | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.70-maint/455-stashlist.exp: ts: add stashlist sub-cmd | ||||
tests | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.50-cmds/152-module-emptyarg.exp, | ||||
testsuite/modules.50-cmds/350-allin.exp, | ||||
testsuite/modules.61-coll/020-savelist.exp, | ||||
testsuite/modules.61-coll/021-savelist-search.exp, | ||||
testsuite/modules.61-coll/080-access-coll.exp, | ||||
testsuite/modules.70-maint/190-emptyarg.exp, | ||||
testsuite/modules.70-maint/350-term_width.exp: ts: add helper procs for | ||||
collection list header msgs | ||||
2022-10-02 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/subcmd.tcl.in: Core code for cmdModuleStashlist Implement 'stashlist' | ||||
sub-command. Rely on cmdModuleSavelist but adapt this procedure to make | ||||
several behavior changes when called by cmdModuleStashlist: * elements are | ||||
sorted in reverse order * element index starts at 0 * when no collection | ||||
target set, only return collection without a target set | ||||
2022-10-01 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/report.tcl.in, tcl/subcmd.tcl.in, tcl/util.tcl: Add getCallingProcName | ||||
util proc Return name of calling procedure with getCallingProcName. | ||||
* tcl/report.tcl.in, tcl/subcmd.tcl.in, testsuite/example/siteconfig.tcl-1: | ||||
Add start_idx argument on displayElementList Add start_idx argument on | ||||
displayElementList procedure to define what is the starting index for the | ||||
elements to report. | ||||
2022-09-29 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
stashlist subcmd in NEWS/man/changes | ||||
* testsuite/modulefiles.3/modbad/stashlist, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing | ||||
testfiles for stashlist sub-command | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashlist | ||||
subcmd to completion scripts | ||||
2022-09-28 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'stashlist' sub-command Introduce stashlist sub-command to list stash | ||||
collection file. This sub-command cannot be called from a modulefile | ||||
evaluation context. Add sub-command empty skeleton: cmdModuleStashlist. | ||||
Sub-command accepts no argument. It accepts --terse, --long and --json | ||||
options. | ||||
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc. | ||||
stashlist in stash-environment design doc | ||||
2022-09-26 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/config/base-config.exp, | ||||
testsuite/modules.70-maint/454-stashclear.exp: ts: add stashclear sub-cmd | ||||
tests | ||||
* tcl/subcmd.tcl.in: Core code for cmdModuleStashclear Implement | ||||
'stashclear' sub-command. Fetch all existing stash collection for current | ||||
collection target. Then call 'saverm' sub-command over all of these | ||||
collection obtained. | ||||
2022-09-27 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modulefiles.3/modbad/stashclear, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing | ||||
testfiles for stashclear subcmd | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
stashclear subcmd in NEWS/man/changes | ||||
2022-09-26 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashclear | ||||
subcmd to completion scripts | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'stashclear' sub-command Introduce stashclear sub-command to delete all | ||||
stash collection file. This sub-command cannot be called from a modulefile | ||||
evaluation context. Add sub-command empty skeleton: cmdModuleStashclear. | ||||
Sub-command accepts no argument nor option. | ||||
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc. | ||||
stashclear in stash-environment design doc | ||||
* testsuite/modules.00-init/005-init_ts.exp: ts: accept version name with | ||||
'/' char | ||||
* testsuite/modules.70-maint/453-stashshow.exp: ts: add stashshow sub-cmd | ||||
tests | ||||
* tcl/subcmd.tcl.in: Core code for cmdModuleStashshow Implement 'stashshow' | ||||
sub-command. Parse stash argument to get corresponding collection, then call | ||||
saveshow over this collection name. | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
stashshow subcmd in NEWS/man/changes | ||||
* testsuite/modulefiles.3/modbad/stashshow, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing | ||||
testfiles for stashshow sub-command | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashshow | ||||
subcmd to completion scripts | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'stashshow' sub-command Introduce stashshow sub-command to display stash | ||||
collection file. This sub-command cannot be called from a modulefile | ||||
evaluation context. Add sub-command empty skeleton: cmdModuleStashshow. | ||||
Sub-command accepts no option. It may take an optional argument: the index | ||||
of the stash collection to display or the name of the stash collection. If | ||||
no argument is provided, stash collection 0 is assumed. | ||||
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc. | ||||
stashshow in stash-environment design doc | ||||
* testsuite/config/base-config.exp, | ||||
testsuite/modules.70-maint/452-stashrm.exp: ts: add stashrm sub-cmd tests | ||||
2022-09-25 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/subcmd.tcl.in: Core code for cmdModuleStashrm Implement 'stashrm' | ||||
sub-command. Parse stash argument to get corresponding collection, then call | ||||
saverm over this collection name. | ||||
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Move collection resolution from stash | ||||
in dedicated proc Move collection name resolution from stash name from | ||||
cmdModuleStashpop into getCollectionFromStash procedure. | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
stashrm subcmd in NEWS/man/changes | ||||
* testsuite/modulefiles.3/modbad/stashrm, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing | ||||
testfiles for stashrm sub-command | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashrm | ||||
subcmd to completion scripts | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'stashrm' sub-command Introduce stashrm sub-command to delete stash | ||||
collection file. This sub-command cannot be called from a modulefile | ||||
evaluation context. Add sub-command empty skeleton: cmdModuleStashrm. | ||||
Sub-command accepts no option. It may take an optional argument: the index | ||||
of the stash collection to delete or the name of the stash collection. If no | ||||
argument is provided, stash collection 0 is assumed. | ||||
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc. | ||||
stashrm in stash-environment design doc | ||||
2022-09-22 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.70-maint/451-stashpop.exp: ts: add stashpop sub-cmd tests | ||||
* tcl/subcmd.tcl.in: Core code for cmdModuleStashpop Implement 'stashpop' | ||||
sub-command. First parse stash argument to determine corresponding stash | ||||
collection name or raise an error if stash value is invalid. Then restore | ||||
stash collection. Afterward delete stash collection. | ||||
2022-09-25 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/coll.tcl.in: Add no_other_target option to findCollections Add | ||||
no_other_target option to findCollections procedure to filter when glob | ||||
searching the result from other target. Especially useful when collections | ||||
for specific targets exist but no target is currently set in user | ||||
environment. This no_other_target is disabled by default. savelist | ||||
sub-command currently returns other targets when no target is set. But the | ||||
option will be enabled for stashpop, to ensure that the popped collection is | ||||
from the current target or from the *no target* if none set. | ||||
2022-09-21 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
stashpop subcmd in NEWS/man/changes | ||||
* testsuite/modulefiles.3/modbad/stashpop, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing | ||||
testfiles for stashpop sub-command | ||||
* doc/source/modulefile.rst, testsuite/modulefiles/info/commandexp, | ||||
testsuite/modules.50-cmds/282-info-command.exp, | ||||
testsuite/modules.50-cmds/283-info-command-exp.exp: ts/doc: add stashpop | ||||
test/doc on 'module-info command' | ||||
* doc/source/design/stash-environment.rst: doc: desc. stashpop in | ||||
stash-environment design doc | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashpop | ||||
subcmd to completion scripts | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'stashpop' sub-command Introduce stashpop sub-command to restore a stash | ||||
collection then delete it. This sub-command cannot be called from a | ||||
modulefile evaluation context. Add sub-command empty skeleton: | ||||
cmdModuleStashpop. Sub-command accepts no option. It may take an optional | ||||
argument: the index of the stash collection to restore or the name of the | ||||
stash collection. If no argument is provided, stash collection 0 is assumed. | ||||
2022-09-09 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/config/base-config.exp, testsuite/modulefiles.3/foo/.modulerc, | ||||
testsuite/modulefiles.3/tag/.modulerc, | ||||
testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.70-maint/450-stash.exp: ts: add stash sub-cmd tests | ||||
2022-09-18 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.61-coll/030-save.exp: ts: move unsatisfied constraint msg | ||||
to init section | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.61-coll/030-save.exp: ts: move nothing to save err msg in | ||||
init section | ||||
2022-09-17 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.61-coll/040-restore.exp, | ||||
testsuite/modules.61-coll/060-saveshow.exp: ts: put coll not valid msg in a | ||||
proc | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.61-coll/040-restore.exp, | ||||
testsuite/modules.61-coll/050-saverm.exp, | ||||
testsuite/modules.61-coll/060-saveshow.exp, | ||||
testsuite/modules.61-coll/080-access-coll.exp, | ||||
testsuite/modules.70-maint/240-icase.exp, | ||||
testsuite/modules.70-maint/440-reset.exp: ts: put coll not found msg in a | ||||
proc | ||||
2022-09-11 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/modfind.tcl.in: Fix init property unserialization Update | ||||
getLoadedModulePropertyList to apply unserialization translation map also | ||||
for property not requiring sub-element split, like init. | ||||
2022-09-06 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/subcmd.tcl.in: Core code for cmdModuleStash Implement stash | ||||
sub-command. First check that a difference exists between current | ||||
environment and initial one. If so, save current environment in a | ||||
collection, then reset to initial environment. | ||||
2022-09-20 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Reword findCollections to swap default | ||||
coll by __init__ Update findCollections procedure to add swap_by_init | ||||
argument, disabled by default. When enabled if specified collection is not | ||||
found, change it to __init__. Helps to remove duplicate code from | ||||
cmdModuleSaveshow and cmdModuleRestore. | ||||
2022-09-11 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Return is_tags_diff from | ||||
getDiffBetweenCurEnvAndColl Update getDiffBetweenCurEnvAndColl to also | ||||
return is_tags_diff information. is_tags_diff indicates if loaded modules | ||||
that matches modules in collection have different tags set. | ||||
* tcl/util.tcl: Add unordered_lists_compared arg on getDiffBetweenArray | ||||
Update getDiffBetweenArray procedure to add unordered_lists_compared | ||||
argument (disabled by default). When enabled, array elements are considered | ||||
unordered list, so value comparison is adapted to check differences between | ||||
two lists. | ||||
* tcl/util.tcl, testsuite/example/siteconfig.tcl-1, | ||||
testsuite/modules.00-init/120-siteconfig.exp: Add notset_equals_empty arg to | ||||
getDiffBetweenArray Update getDiffBetweenArray procedure to add | ||||
notset_equals_empty argument (disabled by default). When enabled not-set | ||||
element in array is equivalent to element set to an empty value. | ||||
2022-09-06 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Create getDiffBetweenCurEnvAndColl | ||||
from cmdModuleRestore Create getDiffBetweenCurEnvAndColl procedure from | ||||
code of cmdModuleRestore to analyze a collection content and produce | ||||
differences compared to current environment. | ||||
2022-09-04 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. stash | ||||
subcmd in NEWS/man/changes | ||||
* testsuite/modulefiles.3/modbad/stash, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing | ||||
testfiles for stash sub-command | ||||
* doc/source/modulefile.rst, testsuite/modulefiles/info/commandexp, | ||||
testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.50-cmds/282-info-command.exp, | ||||
testsuite/modules.50-cmds/283-info-command-exp.exp, | ||||
testsuite/modules.61-coll/030-save.exp: ts/doc: add stash test/doc on | ||||
'module-info command' | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stash | ||||
subcmd to completion scripts | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'stash' sub-command Introduce stash sub-command to save current environment | ||||
and restore initial one. This sub-command cannot be called from a | ||||
modulefile evaluation context. Add sub-command empty skeleton: | ||||
cmdModuleStash. Sub-command accepts no argument nor option. | ||||
* .aspell.en.pws, doc/source/design/initial-environment.rst, | ||||
doc/source/design/stash-environment.rst: doc: add stash-environment design | ||||
doc | ||||
2022-09-18 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .cirrus.yml: cirrus: test FreeBSD 13.1 instead of eol 13.0 | ||||
2022-09-15 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/lint.00-init/005-init_ts.exp: ts: do not lint lib/config.guess | ||||
generated file | ||||
* .aspell.en.pws, NEWS.rst, testsuite/lint.00-init/005-init_ts.exp: ts: | ||||
temporarily ignore remaining shellcheck reports Make 'mt lint' pass with | ||||
remaining shellcheck reports on sh, bash and ksh scripts. Waiting for | ||||
another contribution to fix the remaining warnings and notices. Related: | ||||
#470 | ||||
* NEWS.rst, init/profile.sh.in: init: only source sh or bash init if BASH | ||||
var is set Update profile script for sh-like shells to only source sh or | ||||
bash initialization script when BASH environment variable is found set. | ||||
Fixes #473 | ||||
2022-09-04 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* CONTRIBUTING.rst, NEWS.rst: doc: desc. script/mb in CONTRIBUTING | ||||
2022-09-03 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* CONTRIBUTING.rst: doc: desc lint testsuite in CONTRIBUTING | ||||
* .aspell.en.pws, CONTRIBUTING.rst: doc: desc. script/mt utility in | ||||
CONTRIBUTING | ||||
* CONTRIBUTING.rst: doc: desc. quick testsuite mode in CONTRIBUTING | ||||
2022-09-02 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/envmngt.tcl.in, testsuite/modules.70-maint/120-autoinit.exp: Update | ||||
autoinit sh code to fix SC2166/SC2086 Apply on auto-generated autoinit code | ||||
for sh-kind shells the same changes than initialization scripts to fix the | ||||
SC2166 and SC2086 issues reported by ShellCheck linter. Autoinit generated | ||||
code is thus kept in line with initialization script code. | ||||
2022-08-31 Lukáš Zaoral <lzaoral@redhat.com> | ||||
* configure: lint(ShellCheck): fix SC2163 warning According to ShellCheck's | ||||
documentation: export takes a variable name, but ShellCheck has noticed | ||||
that you give it an expanded variable instead. Remove $/${} for that, or | ||||
use ${var?} to quiet. Related: https://www.shellcheck.net/wiki/SC2163 | ||||
Related: #470 | ||||
* init/profile.sh.in, script/add.modules.in, script/mkroot: | ||||
lint(ShellCheck): fix SC2046 warning According to ShellCheck's | ||||
documentation: When command expansions are unquoted, word splitting and | ||||
globbing will occur. This often manifests itself by breaking when filenames | ||||
contain spaces. Related: https://www.shellcheck.net/wiki/SC2046 Related: | ||||
#470 | ||||
* configure, .../example-sessions/bar-defaults.sh, | ||||
.../example-sessions/bar-loads.sh, .../example-sessions/bar-switch.sh, | ||||
.../example-sessions/foo-avail1.sh, .../example-sessions/foo-avail2.sh, | ||||
.../example-sessions/foo-defaults.sh, .../example-sessions/foo-loads.sh, | ||||
.../example-sessions/foo-switch.sh, .../example-sessions/modavail.sh, | ||||
.../example-sessions/modversion.sh, .../example-sessions/ompi-defaults.sh, | ||||
.../example-sessions/ompi-loads1.sh, .../example-sessions/ompi-switch.sh, | ||||
.../example-sessions/ompi-switch.sh.m431, init/bash.in, | ||||
init/bash_completion.in, init/ksh.in, init/sh.in, script/add.modules.in, | ||||
script/commit-msg, script/envml, script/mkroot, script/mt, | ||||
script/pre-commit, testsuite/bin/install_test_sh, testsuite/systest: | ||||
lint(ShellCheck): fix SC2086 info diagnostic Some variables, that were | ||||
unquoted intentionally were converted to arrays. According to ShellCheck's | ||||
documentation: Quoting variables prevents word splitting and glob | ||||
expansion, and prevents the script from breaking when input contains spaces, | ||||
line feeds, glob characters and such. Related: | ||||
https://www.shellcheck.net/wiki/SC2086 Related: #470 | ||||
* configure, doc/example/source-script-in-modulefile/bar-2.1/bar-setup.sh, | ||||
doc/example/source-script-in-modulefile/foo-1.2/foo-setup.sh: | ||||
lint(ShellCheck): fix SC2155 warning According to ShellCheck's | ||||
documentation: In the original code, the return value of mycmd in $(mycmd) | ||||
is ignored, and export will instead always return true. This may prevent | ||||
conditionals, set -e and traps from working correctly. Related: | ||||
https://www.shellcheck.net/wiki/SC2155 Related: #470 | ||||
2022-08-26 Lukáš Zaoral <lzaoral@redhat.com> | ||||
* doc/example/source-script-in-modulefile/bar-2.1/bar-setup.sh, | ||||
doc/example/source-script-in-modulefile/foo-1.2/foo-setup.sh: | ||||
lint(ShellCheck): fix SC2128 warning These occurrences do not cause any | ||||
problems described below but it's better to be verbose that we indeed want | ||||
to access the first array element. According to ShellCheck's documentation: | ||||
When referencing arrays, $myarray is equivalent to ${myarray[0]} -- it | ||||
results in only the first of multiple elements. Related: | ||||
https://www.shellcheck.net/wiki/SC2128 Related: #470 | ||||
* script/envml, testsuite/cmd.exe: lint(ShellCheck): fix SC2048 warning | ||||
According to ShellCheck's documentation: Use "$@" (with quotes) to prevent | ||||
whitespace problems. $* and ${array[*]}, unquoted, is subject to word | ||||
splitting and globbing. Related: https://www.shellcheck.net/wiki/SC2048 | ||||
Related: #470 | ||||
* init/bash_completion.in: lint(ShellCheck): fix SC2178 warning These | ||||
occurrences do not seem to cause any problems described below but let's | ||||
still fix it for the sake of consistency within this script. According to | ||||
ShellCheck's documentation: ShellCheck noticed that you have used a | ||||
variable as an array, but then assign it a string. array=foo is equivalent | ||||
to array[0]=foo, and leaves the rest of the elements unaffected. Related: | ||||
https://www.shellcheck.net/wiki/SC2178 Related: #470 | ||||
2022-08-25 Lukáš Zaoral <lzaoral@redhat.com> | ||||
* configure, init/bash.in, init/bash_completion.in, init/ksh.in, init/sh.in, | ||||
script/envml, testsuite/bin/install_test_sh: lint(ShellCheck): fix SC2166 | ||||
warning According to ShellCheck's documentation: -a and -o in [ .. ] test | ||||
expressions are not well defined, and can cause incorrect results when | ||||
arguments start with dashes or contain !. Related: | ||||
https://www.shellcheck.net/wiki/SC2166 Related: #470 | ||||
* init/bash_completion.in: lint(ShellCheck): fix SC1035 error According to | ||||
ShellCheck's documentation: Bourne shells are very whitespace sensitive. | ||||
Adding or removing spaces can drastically alter the meaning of a script. | ||||
Related: https://www.shellcheck.net/wiki/SC1035 Related: #470 | ||||
* script/envml, script/mt: lint(ShellCheck): fix SC2068 error According to | ||||
ShellCheck's documentation: Double quotes around $@ and ${array[@]}) | ||||
prevent globbing and word splitting of individual elements, while still | ||||
expanding to multiple separate arguments. Related: | ||||
https://www.shellcheck.net/wiki/SC2068 Related: #470 | ||||
* doc/example/compiler-etc-dependencies/example-sessions/common_code.sh, | ||||
init/bash.in, init/bash_completion.in, init/ksh.in, init/profile.sh.in, | ||||
init/sh.in: lint(ShellCheck): fix SC2148 error According to ShellCheck's | ||||
documentation: Different shells support different features. To give | ||||
effective advice, ShellCheck needs to know which shell your script is going | ||||
to run on. Related: https://www.shellcheck.net/wiki/SC2148 Related: #470 | ||||
* init/bash.in, init/ksh.in, init/sh.in: init: add vim modeline to {,b,k}sh | ||||
scripts ... to enable correct syntax highlighting. | ||||
2022-08-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, NEWS.rst: doc: desc. usage and --help work for scripts in | ||||
NEWS | ||||
* script/mtreview: script: add usage msg and --help option on mtreview | ||||
* script/mlprof: script: add usage msg and --help option on mlprof | ||||
* script/mt: script: add usage msg and --help option on mt | ||||
2022-08-30 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.00-init/005-init_ts.exp: ts: accept version name with | ||||
'_' char | ||||
* script/mb: script: keep old releases among benched versions in mb Update | ||||
mb script to skip several releases and be able to run bench or profiling on | ||||
old and recent releases. Versions 4.1, 4.3, 4.5, 4.7 and 5.1 are retained | ||||
for bench mode. 4.5, 4.7 and 5.1 are retained for profile mode. | ||||
* script/mb: script: add usage msg and --help option on mb | ||||
* script/mrel: script: add usage msg and --help option on mrel | ||||
* script/mpub: script: add usage msg and --help option on mpub | ||||
2022-08-28 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in, | ||||
tcl/mfinterp.tcl.in, tcl/modeval.tcl, tcl/modfind.tcl.in, tcl/modspec.tcl, | ||||
tcl/report.tcl.in, tcl/subcmd.tcl.in, | ||||
testsuite/lint.00-init/005-init_ts.exp: Fix notices reported by linter on | ||||
tcl source files All linter reports are now fixed. Remove specific linter | ||||
rule for modulecmd.tcl in lint testsuite. | ||||
* .aspell.en.pws, .github/workflows/linux_tests.yaml: gh: migrate linux | ||||
tests to ubuntu-20.04 ubuntu-18.04 is being deprecated and will be removed | ||||
in a few weeks. For Tcl 8.5 jobs, the Tcl version has to be deployed | ||||
manually. | ||||
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in, | ||||
tcl/modfind.tcl.in, tcl/modspec.tcl, tcl/report.tcl.in, tcl/subcmd.tcl.in: | ||||
Fix too long line issues on Tcl source files | ||||
* .github/workflows/lint_tests.yaml: gh: add lint-tests workflow | ||||
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in, | ||||
tcl/modfind.tcl.in, tcl/modspec.tcl, tcl/report.tcl.in, tcl/subcmd.tcl.in: | ||||
Fix warnings reported by linter on tcl source files | ||||
2022-08-27 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/coll.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modspec.tcl, | ||||
tcl/report.tcl.in, tcl/subcmd.tcl.in, tcl/util.tcl: Fix errors reported by | ||||
linter on tcl source files Use Nagelfar comments to help linter to | ||||
correctly understand dynamic aspects of the code. | ||||
* init/tcl.in: init: fix too long line issues in tcl | ||||
* script/mb, script/mrel, script/nglfar2ccov: script: fix too long line | ||||
issues in mb/mrel/nglfar2ccov | ||||
* script/mlprof, script/mrel, script/mtreview: script: fix lint issues on | ||||
mrel/mlprof/mtreview | ||||
* testsuite/lint.00-init/030-tcl.exp: ts: add tcl script lint tests | ||||
* Makefile: Remove testsyntax Makefile target testsyntax Makefile target is | ||||
removed. testlint testsuite has to be used instead. | ||||
* testsuite/lint.00-init/022-ksh.exp: ts: add ksh script lint tests | ||||
* testsuite/lint.00-init/021-bash.exp: ts: add bash script lint tests | ||||
* testsuite/lint.00-init/020-sh.exp: ts: add sh script lint tests | ||||
* .aspell.en.pws, .gitignore, Makefile, NEWS.rst, script/mt, | ||||
testsuite/config/unix.exp, testsuite/lint.00-init/005-init_ts.exp, | ||||
testsuite/lint.00-init/006-procs.exp, | ||||
testsuite/lint.00-init/011-save_test_env.exp: ts: add lint testsuite | ||||
2022-08-26 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* contrib/readme.txt, contrib/scripts/resetenv, contrib/scripts/resetgnome, | ||||
contrib/template/.aliases, contrib/template/.bash_profile, | ||||
contrib/template/.bashrc, contrib/template/.cshrc, | ||||
contrib/template/.fvwm2rc, contrib/template/.login, | ||||
contrib/template/.logout, contrib/template/.mailcap, | ||||
contrib/template/.mime.types, contrib/template/README.dotfiles, | ||||
contrib/template/resetenv.conf: contrib: remove unmaintained template/script | ||||
content Remove the contrib template and scripts files as they are not | ||||
maintained since a long time in this repository and seem to be deprecated. | ||||
2022-08-24 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* MIGRATING.rst: doc: desc initial environment in MIGRATING | ||||
2022-08-23 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/changes.rst: doc: fix changed/new features dispatch in changes | ||||
doc | ||||
2022-08-22 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/design/initial-environment.rst, | ||||
doc/source/design/module-tags.rst, doc/source/design/sticky-modules.rst: | ||||
doc: desc. sticky unload on restore in design notes | ||||
* doc/source/changes.rst: doc: use bullet list for concise desc. in change | ||||
doc | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. sticky | ||||
unload on restore in NEWS/man/changes | ||||
2022-08-21 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.50-cmds/460-sticky.exp, | ||||
testsuite/modules.50-cmds/462-sticky-corner.exp, | ||||
testsuite/modules.70-maint/440-reset.exp: ts: adapt existing tests for | ||||
sticky unload on restore | ||||
* tcl/mfinterp.tcl.in, tcl/subcmd.tcl.in: Allow unload of sticky modules on | ||||
restore sub-cmd Allow the unload of sticky modules when restoring | ||||
collection. Goal is to be able to restore designated collection as it was | ||||
saved, thus without the loaded sticky modules. If such collections were | ||||
saved without the sticky modules in it, it means that these sticky modules | ||||
can safely be unloaded when moving to the collection state. As a result, | ||||
using the --force option is of no use for restore sub-command. This change | ||||
does not impact super-sticky modules. Such modules cannot be unloaded during | ||||
a restore, even if forced. With this change, behavior of restore | ||||
sub-command with sticky modules is aligned with Lmod. | ||||
2022-08-20 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/design/initial-environment.rst: doc: add | ||||
initial-environment design notes | ||||
2022-08-18 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.70-maint/440-reset.exp: ts: add reset_target_state tests | ||||
in 70/440 | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
reset_target_state in NEWS/man/changes | ||||
2022-08-17 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/010-environ.exp, | ||||
testsuite/modules.00-init/010-environ.exp, | ||||
testsuite/modules.70-maint/220-config.exp: ts: test reset_target_state | ||||
config option | ||||
* init/Makefile, init/fish_completion, init/zsh-functions/_module.in: init: | ||||
add reset_target_state config to completion script | ||||
* tcl/init.tcl.in, tcl/subcmd.tcl.in: Add reset_target_state configuration | ||||
option Add reset_target_state configuration option that defines the | ||||
environment state restored by the reset sub-command. Equals __init__ by | ||||
default, which means reset restore the initial environment by default. | ||||
Other valid values are __purge__, which means target state is purged | ||||
environment, and any existing collection name. | ||||
2022-08-15 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst, | ||||
testsuite/modules.61-coll/060-saveshow.exp: doc: desc module saveshow when | ||||
no default in NEWS/man/changes | ||||
* testsuite/modules.61-coll/060-saveshow.exp: ts: update/add tests for | ||||
'module saveshow' behavior | ||||
* tcl/subcmd.tcl.in: Show initial env when no default collection exists | ||||
Update saveshow sub-command to display initial environment when no specific | ||||
collection is asked and default collection does not exist. | ||||
* testsuite/example/initrc.in, testsuite/modules.70-maint/120-autoinit.exp: | ||||
ts: test 'module restore' without arg in initrc | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc module | ||||
restore when no default in NEWS/man/changes | ||||
* testsuite/modules.61-coll/040-restore.exp: ts: update/add tests for | ||||
'module restore' behavior | ||||
* tcl/subcmd.tcl.in: Restore initial env when no default collection exists | ||||
Update restore sub-command to restore initial environment when no specific | ||||
collection is asked and default collection does not exist. | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. module | ||||
restore __init__ in NEWS/man/changes | ||||
* testsuite/modules.70-maint/310-sh-to-mod.exp: ts: fix binpath add | ||||
detection in 70/310 | ||||
* tcl/main.tcl.in, tcl/report.tcl.in: Same special treatment for reset than | ||||
restore subcmd Reports loads/unloads like restore sub-command. No auto | ||||
unload of modules if auto_handling is disabled. | ||||
* testsuite/modulefiles.3/reset/1, testsuite/modulefiles.3/reset/2, | ||||
testsuite/modules.70-maint/440-reset.exp: ts: add auto unload test during | ||||
reset sub-cmd in 70/440 | ||||
2022-08-14 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.70-maint/440-reset.exp: ts: add restore __init__ tests | ||||
in 70/440 | ||||
* testsuite/example/initrc.in, testsuite/modulefiles.3/foo/.modulerc, | ||||
testsuite/modules.70-maint/120-autoinit.exp, | ||||
testsuite/modules.70-maint/440-reset.exp: ts: add reset sub-cmd tests | ||||
2022-08-13 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/example/initrc.in, testsuite/modulefiles.3/variant/1.0, | ||||
testsuite/modules.70-maint/120-autoinit.exp: ts: add autoinit tests for | ||||
__MODULES_LMINIT | ||||
* testsuite/modules.70-maint/210-clear.exp: ts: add clear tests for | ||||
__MODULES_LMINIT | ||||
* .github/workflows/linux_tests.yaml: gh: add missing xrdb tool to test | ||||
x-resource on bionic | ||||
* testsuite/modules.00-init/005-init_ts.exp: ts: add X11 setup state info to | ||||
test log | ||||
2022-08-12 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/010-environ.exp, | ||||
testsuite/modules.00-init/010-environ.exp, | ||||
testsuite/modules.70-maint/120-autoinit.exp: ts: adapt autoinit tests for | ||||
__MODULES_LMINIT Fix several issues in 70/120 test case on the way. | ||||
* .aspell.en.pws, tcl/coll.tcl.in, tcl/modfind.tcl.in, tcl/subcmd.tcl.in: | ||||
Core code for cmdModuleReset Implement reset sub-command as a 'module | ||||
restore __init__'. Where __init__ designates the virtual init collection | ||||
made of the initial environment state described in __MODULES_LMINIT. | ||||
readCollectionContent has been split to create parseCollectionContent | ||||
procedure which analyzes collection content passed as argument. When | ||||
__init__ collection is designated, cmdModuleRestore do not check collection | ||||
files but parseCollectionContent based on value fetched from | ||||
__MODULES_LMINIT environment variable. | ||||
* testsuite/modulefiles.3/modbad/reset, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: add tests for | ||||
mod-to-sh sub-command | ||||
* doc/source/modulefile.rst, testsuite/modulefiles/info/commandexp, | ||||
testsuite/modules.50-cmds/282-info-command.exp, | ||||
testsuite/modules.50-cmds/283-info-command-exp.exp: ts/doc: add reset | ||||
test/doc on 'module-info command' | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. reset | ||||
subcmd in NEWS/man/changes | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add | ||||
'reset' sub-command Introduce reset sub-command to restore initial | ||||
environment state. This sub-command cannot be called from a modulefile | ||||
evaluation context. Add sub-command empty skeleton: cmdModuleReset. | ||||
Sub-command accepts no argument nor option. | ||||
2022-08-11 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add reset | ||||
subcmd to completion scripts | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
__MODULES_LMINIT in NEWS/man/changes | ||||
* .aspell.en.pws, tcl/modfind.tcl.in, tcl/subcmd.tcl.in: Record init state | ||||
in __MODULES_LMINIT During the autoinit sub-command, record the initial | ||||
loaded state (state obtained after evaluating modulespath and initrc | ||||
initialization files) in the __MODULES_LMINIT environment variable. The | ||||
initial loaded state is formed as a collection content, describing the | ||||
enabled modulepaths and the loaded modules with the tags applied to these | ||||
modules. __MODULES_LMINIT is a colon-separated list. Each entry | ||||
corresponding to a 'module use' or 'module load' collection line. | ||||
2022-08-10 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/coll.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modeval.tcl, | ||||
tcl/modfind.tcl.in, tcl/subcmd.tcl.in, | ||||
testsuite/modules.00-init/120-siteconfig.exp: Fetch loaded mod props with | ||||
getLoadedModulePropertyList Create the getLoadedModulePropertyList | ||||
procedure to fetch the different loaded module properties. | ||||
getLoadedModulePropertyList replaces the specific procedure used for each | ||||
property kind. | ||||
2022-08-24 Jan Macku <jamacku@redhat.com> | ||||
* .github/workflows/differential_shellcheck.yml: ci(lint): add shell linter | ||||
- Differential ShellCheck It performs differential ShellCheck scans and | ||||
report results directly in pull request. documentation: | ||||
https://github.com/redhat-plumbers-in-action/differential-shellcheck | ||||
2022-08-07 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/modulefile.rst: doc: add shell support section in | ||||
modulefile man | ||||
2022-08-06 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* README.md, doc/source/changes.rst, doc/source/index.rst, | ||||
doc/source/module.rst, doc/source/modulefile.rst: doc: fix missing ref to | ||||
cmd shell support | ||||
2022-08-05 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/module.rst: doc: desc changes on --all/--force options in man | ||||
* doc/source/module.rst: doc: reword --auto/--no-auto option desc. in man | ||||
--auto and --no-auto options are global to all sub-commands evaluating | ||||
modulefile in load or unload mode. Rewrite the description of these option | ||||
in module(1) man not to update them each time a new load or unload | ||||
sub-command is introduced (as --auto and --no-auto are not changed). | ||||
* testsuite/modules.61-coll/021-savelist-search.exp: ts: add savelist --all | ||||
tests | ||||
2022-08-04 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. --all | ||||
option on savelist in NEWS/man/changes | ||||
* tcl/coll.tcl.in, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: | ||||
List coll from any target with --all opt on savelist Add support for --all | ||||
command-line option for savelist sub-command. When set, all collections are | ||||
reported and not only those for currently defined collection target. | ||||
2022-08-03 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, tcl/subcmd.tcl.in, testsuite/modules.00-init/140-color.exp: | ||||
Highlight all savelist subcmd search patterns Refactor on the way a little | ||||
bit cmdModuleSavelist. | ||||
* NEWS.rst, tcl/report.tcl.in, tcl/subcmd.tcl.in, | ||||
testsuite/modules.00-init/140-color.exp: Highlight all list subcmd search | ||||
patterns | ||||
* testsuite/modules.61-coll/021-savelist-search.exp, | ||||
testsuite/modules.70-maint/290-json.exp: ts: test pattern search on savelist | ||||
sub-cmd | ||||
2022-08-02 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
savelist filtering in NEWS/changes/man | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/152-module-emptyarg.exp, | ||||
testsuite/modules.50-cmds/350-allin.exp, | ||||
testsuite/modules.61-coll/020-savelist.exp, | ||||
testsuite/modules.61-coll/080-access-coll.exp, | ||||
testsuite/modules.70-maint/190-emptyarg.exp, | ||||
testsuite/modules.70-maint/350-term_width.exp: ts: adapt existing tests now | ||||
savelist accepts args | ||||
* tcl/init.tcl.in, tcl/subcmd.tcl.in: Add search capabilities to savelist | ||||
subcmd When one or multiple strings are passed to the savelist sub-command, | ||||
only output the collections that match at least one of this string (OR | ||||
operation). Sub-command header message is adapted when strings are passed | ||||
to the sub-command. However same header message is reported if there is no | ||||
saved collection to report from the start. Search capabilities rely on the | ||||
modEq comparison procedure, so it takes into account the search_match mode | ||||
(starts-with/contains) and the insensitive case search mode. Icase mode is | ||||
set to search by default for savelist sub-command. | ||||
* tcl/subcmd.tcl.in: Use coll name/file array rather list in | ||||
cmdModuleSavelist | ||||
2022-08-01 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Allow search match | ||||
option on savelist subcmd Allow to pass the search match options (-S/-C) to | ||||
the savelist sub-command. | ||||
* tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Allow collection | ||||
name as argument to savelist subcmd Allow the savelist sub-command to | ||||
receive collection name as argument. | ||||
2022-08-03 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/modspec.tcl, tcl/subcmd.tcl.in: Unset mod spec on source subcmd if | ||||
file exists In case module specification corresponds to a full path name | ||||
file, unset parsed module specification on source sub-command. It is done | ||||
not to confuse specific character in file path name (like '+') with module | ||||
variant specification. | ||||
2022-07-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/modulefile.rst: doc: clarify set-alias only define | ||||
shell alias | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.00-init/170-cwd.exp, | ||||
testsuite/modules.70-maint/090-source.exp: ts: add avail modfile source | ||||
tests in 70/090 | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. arg | ||||
update on source subcmd in changes/man/news | ||||
* tcl/main.tcl.in, tcl/subcmd.tcl.in: Allow module to be specified on source | ||||
subcmd Update source sub-command to accept module specification as | ||||
argument. File path stay the main specification kind. Which means if a file | ||||
foo/1.0 exists, this file is sourced and not the modulefile foo/1.0 in | ||||
enabled modulepath. Fixes #424. | ||||
2022-08-01 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/modspec.tcl: Record raw arg with parsed module spec Update module | ||||
specification parsing to record the raw argument translated by specification | ||||
analysis. Add getRawArgumentFromVersSpec procedure to fetch this raw spec | ||||
from recorded analyzed module specification. | ||||
2022-07-30 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: | ||||
Check state is defined before unset in unsetState | ||||
* testsuite/config/base-config.exp, testsuite/modulefiles.3/mod-to-sh/1.0, | ||||
testsuite/modulefiles.3/mod-to-sh/1.1, | ||||
testsuite/modulefiles.3/mod-to-sh/2.0, | ||||
testsuite/modulefiles.3/modbad/mod-to-sh, | ||||
testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.00-init/071-args.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp, | ||||
testsuite/modules.70-maint/430-mod-to-sh.exp: ts: add tests for mod-to-sh | ||||
sub-command | ||||
2022-07-28 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* MIGRATING.rst, NEWS.rst: doc: desc mod-to-sh in NEWS/MIGRATING | ||||
2022-07-27 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/module.rst: doc: desc. mod-to-sh subcmd in module man | ||||
* NEWS.rst, doc/source/module.rst: doc: fix subcmd list using | ||||
--auto/--no-auto/--force opts | ||||
* doc/source/design/add-new-config-option.rst, | ||||
doc/source/design/add-new-sub-command.rst, | ||||
.../design/advanced-module-version-specifiers.rst, | ||||
doc/source/design/control-mode-behaviors.rst, | ||||
.../design/default-latest-version-specifiers.rst, | ||||
doc/source/design/extended-default.rst, | ||||
doc/source/design/hide-or-forbid-modulefile.rst, | ||||
doc/source/design/insensitive-case.rst, | ||||
doc/source/design/lmod-tcl-modulefile-compat.rst, | ||||
doc/source/design/module-selection-contexts.rst, | ||||
doc/source/design/module-tags.rst, | ||||
doc/source/design/output-configuration.rst, | ||||
.../design/source-shell-script-in-modulefile.rst, | ||||
doc/source/design/sticky-modules.rst, doc/source/design/variants.rst: doc: | ||||
fix indent in design documents | ||||
* doc/source/design/add-new-config-option.rst, | ||||
doc/source/design/add-new-sub-command.rst, | ||||
doc/source/design/advanced-module-version-specifiers.rst, | ||||
doc/source/design/control-mode-behaviors.rst, | ||||
doc/source/design/default-latest-version-specifiers.rst, | ||||
doc/source/design/extended-default.rst, | ||||
doc/source/design/hide-or-forbid-modulefile.rst, | ||||
doc/source/design/insensitive-case.rst, | ||||
doc/source/design/lint-sub-command.rst, | ||||
doc/source/design/lmod-tcl-modulefile-compat.rst, | ||||
doc/source/design/magic-cookie-check.rst, | ||||
doc/source/design/module-selection-contexts.rst, | ||||
doc/source/design/module-tags.rst, | ||||
doc/source/design/output-configuration.rst, | ||||
doc/source/design/shell-completion.rst, | ||||
doc/source/design/source-shell-script-in-modulefile.rst, | ||||
doc/source/design/sticky-modules.rst, doc/source/design/variants.rst: doc: | ||||
add vim settings at end of design documents | ||||
* .aspell.en.pws, doc/source/cookbook/compiler-etc-dependencies.rst, | ||||
doc/source/cookbook/ensure-user-qualify-modules.rst, | ||||
doc/source/cookbook/expose-procs-vars-to-modulefiles.rst, | ||||
doc/source/cookbook/hide-and-forbid-modules.rst, | ||||
doc/source/cookbook/inhibit-report-info.rst, | ||||
doc/source/cookbook/log-module-commands.rst, | ||||
doc/source/cookbook/module-info-name-return-basename.rst, | ||||
doc/source/cookbook/modulefiles-in-git.rst, | ||||
doc/source/cookbook/modulepaths-persist-over-sudo.rst, | ||||
doc/source/cookbook/new-features-without-breaking-old-module.rst, | ||||
doc/source/cookbook/reduce-io-load.rst, | ||||
doc/source/cookbook/source-script-in-modulefile.rst, | ||||
doc/source/cookbook/sticky-modules.rst, | ||||
doc/source/cookbook/test-modulefiles.rst, | ||||
doc/source/cookbook/tips-for-code-reuse.rst, | ||||
doc/source/cookbook/top-priority-values.rst, | ||||
doc/source/cookbook/unload-firstly-loaded.rst: doc: add vim settings at end | ||||
of cookbook documents | ||||
* doc/source/cookbook/tips-for-code-reuse.rst: doc: fix trailing wspace & | ||||
list ident in tips-for-code-reuse | ||||
2022-07-26 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst, doc/source/design/mod-to-sh-sub-command.rst: doc: add mod-to-sh | ||||
subcmd design notes | ||||
* NEWS.rst: doc: desc. lint-sub-command design notes in NEWS | ||||
2022-07-25 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.70-maint/210-clear.exp, | ||||
testsuite/modules.70-maint/280-ml.exp: ts: update clear subcmd tests as only | ||||
set vars are unset | ||||
* testsuite/modules.00-init/100-pager.exp, | ||||
testsuite/modules.00-init/120-siteconfig.exp, | ||||
testsuite/modules.00-init/150-access-init.exp, | ||||
testsuite/modules.70-maint/070-display.exp: ts: adapt existing tests to new | ||||
shelltype state setup | ||||
* tcl/subcmd.tcl.in: Silence message report on mod-to-sh subcmd When | ||||
performing a mod-to-sh sub-command make message report silent not to mix | ||||
these messages with the produced shell code that will be output on the | ||||
message channel. If a debugging verbosity is defined (trace mode or above), | ||||
message report is left as is. | ||||
* tcl/envmngt.tcl.in: Filter Modules-specific env var from mod-to-sh result | ||||
When running modulefile evaluation for mod-to-sh sub-command, removes all | ||||
Modules-specific environment variable from result to only report the | ||||
environment changes done by modulefile, not the Modules load context. | ||||
2022-07-24 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/envmngt.tcl.in, tcl/subcmd.tcl.in: Get list of Modules-specific env | ||||
var in glob form Add getModulesEnvVarGlobList procedure to get all | ||||
Modules-specific environment variable in glob form. Update clear and state | ||||
sub-command to rely on this procedure. With this change clear sub-command | ||||
only unset Modules-specific environment variables that are set. | ||||
* NEWS.rst, tcl/subcmd.tcl.in: Clear pushenv stacks on clear subcmd | ||||
* tcl/envmngt.tcl.in, tcl/subcmd.tcl.in: Core code for cmdModuleModToSh Add | ||||
code for mod-to-sh sub-command. Introduce modtosh_real_shell shell to save | ||||
evaluation shell set for modulecmd.tcl. Then shell set for mod-to-sh is set | ||||
as target shell for shell code production. Modulefiles specified are loaded | ||||
through cmdModuleLoad. Generated shell code is then sent to the report | ||||
message channel (stderr) by renderSettings. Shell code is then cleared and | ||||
modulecmd.tcl evaluation shell is restored to get final evaluation status on | ||||
regular shell code output channel (stdout). | ||||
* tcl/envmngt.tcl.in, tcl/main.tcl.in: Rename cleanupAndExit into | ||||
flushAndExit | ||||
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in: Deduce shelltype | ||||
state value from shell state Add initStateShellType procedure to set | ||||
shelltype state when first retrieving its value (with getState). shelltype | ||||
is set based on value set for shell state. | ||||
2022-07-22 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/main.tcl.in, tcl/report.tcl.in: Move report msg flush in dedicated | ||||
proc Create reportFlush, procedure that output the final report messages, | ||||
flush the message channel and close it. Make cleanupAndExit procedure call | ||||
reportFlush rather implementing these actions locally. | ||||
* tcl/envmngt.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in: Output produced | ||||
shell code in one puts call Instead of outputting shell code to sdtout for | ||||
each line, collect all produced shell code in a list variable (g_shcode_out) | ||||
and output all the code in a single puts call at the end of module command | ||||
execution. Create a specific renderFlush procedure to make the puts to | ||||
stdout as output could occur after renderSettings but also after | ||||
reportErrorAndExit and the exit catch branch in the main procedure. | ||||
renderFlush is called in cleanupAndExit procedure, as it is always run in | ||||
the end of the execution whatever if everything goes well or if error | ||||
occurs. Code of the putsModfileCmd procedure is also adapted to build list | ||||
of message to output to stdout with a flag to know if end-of-line should be | ||||
added at end of message. Previously this procedure was listing arguments to | ||||
directly pass to puts calls. | ||||
2022-07-20 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/modulefile.rst, testsuite/modulefiles/info/command, | ||||
testsuite/modulefiles/info/commandexp, | ||||
testsuite/modules.50-cmds/282-info-command.exp, | ||||
testsuite/modules.50-cmds/283-info-command-exp.exp: ts/doc: add mod-to-sh | ||||
test/doc on 'module-info command' | ||||
2022-07-19 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/design/add-new-sub-command.rst, doc/source/modulefile.rst: doc: | ||||
desc. subcmd in modulefile(4) if avail from this ctx | ||||
* doc/source/changes.rst: doc: desc. mod-to-sh in changes | ||||
* doc/source/design/add-new-sub-command.rst: doc: add subcmd to linter db if | ||||
callable from modfile | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add mod-to-sh | ||||
subcmd to completion scripts | ||||
* tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add 'mod-to-sh' | ||||
sub-command Introduce mod-to-sh sub-command to output shell code | ||||
corresponding to the environment changes of designated modulefiles. This | ||||
sub-command cannot be called from a modulefile evaluation context. Add | ||||
sub-command empty skeleton: cmdModuleModToSh. Sub-command accepts --icase, | ||||
--auto/--no-auto and --force options. Fixes #447. | ||||
* CONTRIBUTING.rst: doc: fix misplaced anchor in CONTRIBUTING | ||||
2022-07-17 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, Makefile, NEWS.rst, doc/Makefile, init/Makefile: install: | ||||
use install rather mkdir or cp Use install command rather mkdir or cp to | ||||
apply regular file mode when installing Modules. A specific umask | ||||
configuration set in the current environment will not impact modes set on | ||||
installed files. Follow same approach than Makefiles generated by | ||||
autotools, with an INSTALL Makefile variable. | ||||
2022-07-16 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, MIGRATING.rst: doc: desc. lint subcmd and options in | ||||
MIGRATING Closes #451. | ||||
2022-07-14 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst: doc: desc. lint subcmd and options in NEWS | ||||
* Makefile, tcl/subcmd.tcl.in: Disable nagelfar syntaxdb/plugin usage if | ||||
addons disabled | ||||
* .aspell.en.pws, doc/source/design/lint-sub-command.rst: doc: desc. lint | ||||
subcmd in design | ||||
2022-07-13 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* contrib/rpm/environment-modules.spec.in: rpm: recommends nagelfar | ||||
installation Now nagelfar is available on Fedora and EPEL, recommends its | ||||
installation to be able to lint modulefiles. | ||||
2022-07-11 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/design/add-new-sub-command.rst: doc: update linter scripts when | ||||
adding new subcmd | ||||
2022-07-09 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/changes.rst, doc/source/module.rst: doc: desc lint subcmd in | ||||
man/changes | ||||
2022-07-06 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/030-options.exp, | ||||
testsuite/modules.70-maint/420-lint.exp: ts: add module lint install test | ||||
2022-07-08 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* Makefile: install: add rules to deploy global rc linter plugin | ||||
* contrib/nagelfar/plugin_globalrc.tcl, tcl/subcmd.tcl.in: Lint global rc | ||||
file specifically Global rc file are evaluated as modulefile but it is not | ||||
recommended to use commands that change user environment in such file. When | ||||
linting global rc file, the modulefile syntax database is used but a | ||||
specific plugin is set to warn against non-recommended usages. | ||||
2022-07-07 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/main.tcl.in, tcl/modfind.tcl.in, tcl/subcmd.tcl.in: Lint global RC | ||||
files When no argument is provided to lint sub-command, also lint all | ||||
existing and readable global RC files. When arguments are provided to lint, | ||||
test if resolved files are global RC files. If so, lint them as modulerc | ||||
files instead of modulefile. The getGlobalRcFileList procedure has been | ||||
created from code present in runModulerc procedure. The new procedure return | ||||
the list of existing and readable global RC files. | ||||
2022-07-06 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/subcmd.tcl.in: Detect whether file to lint is modulefile or modulerc | ||||
When a file path is provided as argument, detect if it is a modulerc or a | ||||
modulefile to accurately lint this file. | ||||
* .aspell.en.pws, INSTALL.rst: doc: desc. | ||||
--nagelfardatadir/--enable-nagelfar-addons | ||||
* contrib/rpm/environment-modules.spec.in: rpm: install Modules-specific | ||||
Nagelfar linter addons | ||||
* Makefile, Makefile.inc.in, configure, tcl/subcmd.tcl.in: install: add | ||||
--nagelfardatadir/--enable-nagelfar-addons Add --nagelfardatadir and | ||||
--enable-nagelfar-addons installation option to control whether or not | ||||
Modules-specific Nagelfar files need to be installed and in what location. | ||||
2022-06-21 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modulefiles.3/lint/.modulerc, testsuite/modulefiles.3/lint/1.0, | ||||
testsuite/modulefiles.3/lint/1.1, testsuite/modulefiles.3/lint/1.2, | ||||
testsuite/modulefiles.3/lint/1.3, testsuite/modulefiles.3/lint/1.4, | ||||
testsuite/modulefiles.3/lint/2.0, testsuite/modulefiles.3/modbad/lint, | ||||
testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.50-cmds/151-module-onlytop.exp, | ||||
testsuite/modules.70-maint/420-lint.exp: ts: add tests for lint sub-command | ||||
2022-07-05 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/subcmd.tcl.in: Use specific-plugin when linting with Nagelfar Use the | ||||
specific plugin to lint modulefile or the one to lint modulerc when Tcl | ||||
linter is Nagelfar. | ||||
* contrib/nagelfar/plugin_modulefile.tcl, | ||||
contrib/nagelfar/plugin_modulerc.tcl: nagelfar: add plugins to lint | ||||
modulefile/modulerc Create a Nagelfar plugin to lint modulefile and another | ||||
one to lint modulerc. These plugins help to report usage of deprecated, not | ||||
implemented or not recommended commands or variables. Also help to handle | ||||
--option=value argument form. | ||||
2022-06-29 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* contrib/modulefiles/module-git, contrib/modulefiles/use.own: contrib: fix | ||||
lint warning on example modulefiles | ||||
* tcl/subcmd.tcl.in: Use Nagelfar syntax db located in contrib directory | ||||
* contrib/nagelfar/syntaxdb_modulefile.tcl, | ||||
contrib/nagelfar/syntaxdb_modulerc.tcl: Add specific syntaxdb for modulefile | ||||
and modulerc Add Nagelfar syntax databases to lint modulefile and another | ||||
one to lint modulerc. | ||||
2022-06-28 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/subcmd.tcl.in: Lint modulerc files when no arg provided In addition | ||||
to the modulefiles available from enabled modulepaths, also lint the | ||||
modulerc files from these modulepaths. Set specific command for linting | ||||
modulerc files, with a different syntax db file when Nagelfar is used. | ||||
* tcl/subcmd.tcl.in: Use syntax database when linting with Nagelfar When | ||||
Tcl linter is Nagelfar, use a specific syntax database to lint modulefiles. | ||||
* .aspell.en.pws, tcl/subcmd.tcl.in: Lint all avail modfile when no arg | ||||
provided When no argument is provided to the lint sub-command, resolve all | ||||
modulefiles that current user has access to and lint all these files. | ||||
Update cmdModuleLint to first gather the list of all files to lint, then | ||||
lint these files. | ||||
2022-06-27 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .github/workflows/linux_tests.yaml: gh: add --with-tcl-linter on a test | ||||
case | ||||
2022-06-26 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/report.tcl.in, tcl/subcmd.tcl.in: Move linter output report in | ||||
dedicated proc Create displayLinterOutput procedure to handle the parsing | ||||
and output of each linter messages. Current code handles specific output | ||||
from Nagelfar linter and generic error report for other programs set as | ||||
linter. | ||||
* configure: install: warning if tcllinter program not found | ||||
* INSTALL.rst, doc/source/module.rst: doc: desc --with-tcl-linter-opts in | ||||
INSTALL/man | ||||
* testsuite/modules.70-maint/220-config.exp: ts: adapt tcl_linter tests for | ||||
--with-tcl-linter-opts | ||||
* Makefile, Makefile.inc.in, configure, site.exp.in, tcl/init.tcl.in: | ||||
install: add --with-tcl-linter-opts configure option Introduce the | ||||
--with-tcl-linter-opts configure option to choose at installation time the | ||||
options to pass to the tcl linter program. Default option is ''. | ||||
2022-06-24 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/install.00-init/010-environ.exp, | ||||
testsuite/modules.00-init/010-environ.exp, | ||||
testsuite/modules.70-maint/220-config.exp: ts: test tcl_linter config option | ||||
* doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
MODULES_TCL_LINTER in man/changes | ||||
* INSTALL.rst: doc: desc --with-tcl-linter in INSTALL | ||||
* INSTALL.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
tcl_linter config in man/changes | ||||
* init/Makefile, init/fish_completion, init/zsh-functions/_module.in: init: | ||||
add tcl_linter config to completion script | ||||
* Makefile, Makefile.inc.in, configure, site.exp.in, tcl/init.tcl.in: | ||||
install: add --with-tcl-linter configure option Introduce the | ||||
--with-tcl-linter configure option to choose at installation time the | ||||
default program command to use to lint modulefiles. Default Tcl linter is | ||||
'nagelfar.tcl'. | ||||
* tcl/init.tcl.in, tcl/subcmd.tcl.in: Introduce tcl_linter configuration | ||||
option Add tcl_linter option to configure the program to use by lint | ||||
sub-command to lint modulefiles. When configuration is modified it sets the | ||||
MODULES_TCL_LINTER environment variable. | ||||
2022-06-22 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, tcl/subcmd.tcl.in: Parse and format linter output Output | ||||
linter output under a *Linting* message block. Parse each output line to | ||||
produce NOTICE, WARNING or ERROR report messages. | ||||
2022-06-21 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, tcl/subcmd.tcl.in: Lint every modulefile passed as | ||||
argument Update cmdModuleLint to resolve each argument and find | ||||
corresponding modulefile. Pass these modulefile to Nagelfar to lint them. | ||||
In this initial code, Nagelfar is expected to be found at | ||||
nagelfar/nagelfar.tcl and its execution output is sent to the terminal. | ||||
2022-06-19 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* init/Makefile, init/bash_completion.in, init/fish_completion, | ||||
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add lint | ||||
subcmd to completion scripts | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: | ||||
Introduce 'lint' sub-command Add the lint sub-command to check syntax of | ||||
modulefiles. Initial commit which adds empty cmdModuleLint procedure and | ||||
add code to reach it through module procedure. General sub-command | ||||
properties: * shortcut name: none * accepted options: --all, --icase * | ||||
expected number of argument: 0 to N * accept boolean variant specification: | ||||
no * parse module version specification: yes * fully read modulefile when | ||||
checking validity: no * only called from top level: yes | ||||
2022-07-12 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst: doc: desc protected_envvars in NEWS Fixes #429. | ||||
2022-07-09 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .github/workflows/windows_tests.yaml: gh: fix missing liblapack0 dep for R | ||||
pkg on Cygwin | ||||
* .cirrus.yml: cirrus: update to python39 on FreeBSD-13 | ||||
2022-06-08 Adrien Cotte <adrien@cotte.com> | ||||
* testsuite/modulefiles.3/protect/1.0, testsuite/modulefiles.3/protect/2.0, | ||||
.../modules.70-maint/410-protected_envvars.exp: ts: add 70/410 | ||||
protected_envvars | ||||
2022-03-04 Adrien Cotte <adrien@cotte.com> | ||||
* testsuite/install.00-init/010-environ.exp, | ||||
testsuite/modules.00-init/010-environ.exp, | ||||
testsuite/modules.70-maint/220-config.exp: ts: test protected_envvars config | ||||
option | ||||
2022-02-21 Adrien Cotte <adrien@cotte.com> | ||||
* init/zsh-functions/_module.in: Zsh completion support for | ||||
protected_envvars config | ||||
* init/fish_completion: Fish completion support for protected_envvars config | ||||
* init/Makefile: Bash completion support for protected_envvars config | ||||
* .aspell.en.pws, INSTALL.rst, doc/source/changes.rst, | ||||
doc/source/module.rst: doc: desc. protected_envvars configuration | ||||
* tcl/envmngt.tcl.in, tcl/init.tcl.in: Add protected_envvars configuration | ||||
option Add the protected_envvars configuration option that prevents choosen | ||||
environment variables to be set or unset by Module commands. | ||||
2022-06-19 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, NEWS.rst, tcl/mfinterp.tcl.in: Fix source-sh/sh-to-mod | ||||
when fish regex-easyesc is on Fix source-sh modulefile command and | ||||
sh-to-mod sub-command when used with a fish shell script when the | ||||
regex-easyesc fish option is enabled. This option has been introduced in | ||||
fish 3.1 and is turned on by default starting fish 3.5. Fixes #463. | ||||
* NEWS.rst: doc: desc. enclose install paths work in NEWS | ||||
2022-06-18 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* init/Makefile: install: create etcdir from init Makefile if used | ||||
2022-06-17 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* doc/source/_static/literal_block.css, | ||||
doc/source/_static/rtd_literal_block.css, doc/source/conf.py: doc: fix css | ||||
config for sphinx >= 3.5 Use html_css_files configuration option introduced | ||||
in Sphinx 1.8 to setup CSS in a more conventional way. Also fix | ||||
pre.literal-block specific styling as the 'section' div is not used anymore | ||||
in newer Sphinx versions. | ||||
2022-06-15 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .cirrus.yml: cirrus: test install path containing space char Transform | ||||
the second FreeBSD test case into a Ubuntu testcase, running on last LTS | ||||
release. For this test case, installation is made over a path containing a | ||||
whitespace character. No specific quarantine setup with this test case, as | ||||
it is not compatible with installation in path containing a whitespace | ||||
character. | ||||
2022-06-13 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/bin/install_test_csh, testsuite/bin/install_test_fish, | ||||
testsuite/bin/install_test_sh, testsuite/bin/install_test_tcl, | ||||
testsuite/config/unix.exp, testsuite/install.00-init/005-init_ts.exp, | ||||
testsuite/install.00-init/030-options.exp, | ||||
testsuite/install.00-init/060-quar.exp, | ||||
testsuite/install.00-init/080-args.exp: ts: fix install tests if space char | ||||
in install path | ||||
2022-06-14 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/envmngt.tcl.in: Update autoinit produced code to enclose install path | ||||
Update code generated by the autoinit sub-command to enclose all references | ||||
to installation path to cope with an installation done in a path containing | ||||
whitespace character. Enclosing modulecmd.tcl installation path this way is | ||||
not effective with the quarantine mechanism that implies a double shell code | ||||
evaluation. So it is advised not to install Modules in a path containing a | ||||
whitespace character if the quarantine mechanism is needed. | ||||
2022-06-12 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/config/unix.exp, testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.00-init/120-siteconfig.exp, | ||||
testsuite/modules.00-init/140-color.exp, | ||||
testsuite/modules.50-cmds/400-source-sh.exp, | ||||
testsuite/modules.70-maint/120-autoinit.exp, | ||||
testsuite/modules.70-maint/310-sh-to-mod.exp: ts: fix tests if space char in | ||||
install location path | ||||
* Makefile, doc/Makefile, init/Makefile: install: enclose install path refs | ||||
in Makefiles | ||||
* init/bash.in, init/cmake.in, init/csh.in, init/fish.in, init/ksh.in, | ||||
init/perl.pm.in, init/profile.csh.in, init/profile.sh.in, init/r.R.in, | ||||
init/ruby.rb.in, init/sh.in, init/tcl.in, init/tcsh_completion.in, | ||||
init/zsh.in: init: enclose installation path references Update | ||||
initialization, profile and completion scripts to enclose all references to | ||||
the installation paths. Enclosing modulecmd.tcl installation path this way | ||||
is not effective with the quarantine mechanism that implies a double shell | ||||
code evaluation. So it is advised not to install Modules in a path | ||||
containing a whitespace character if the quarantine mechanism is needed. | ||||
* contrib/modulefiles/modules.in, contrib/modulefiles/version.in, | ||||
script/add.modules.in: contrib,script: enclose installation path references | ||||
Update add.modules script and example modulefiles to enclose all references | ||||
to the installation paths. | ||||
* tcl/init.tcl.in, tcl/main.tcl.in, tcl/subcmd.tcl.in: Enclose all | ||||
installation path references Fix modulecmd.tcl to enclose all references to | ||||
an installation path. These references are thus robust in case a space | ||||
character is part of the installation location. | ||||
* NEWS.rst: doc: desc. init scripts > autoinit migration work | ||||
* .github/workflows/linux_tests.yaml: gh: update test case with disabled | ||||
bin/manpath config | ||||
2022-06-11 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.70-maint/120-autoinit.exp: ts: test source of shell | ||||
completion during autoinit | ||||
* testsuite/modules.70-maint/120-autoinit.exp: ts: add autoinit MANPATH | ||||
setup tests | ||||
2022-06-08 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .cirrus.yml: cirrus: use leap 15.3 to get python-Sphinx | ||||
2022-06-05 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* site.exp.in, testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.50-cmds/400-source-sh.exp, | ||||
testsuite/modules.70-maint/120-autoinit.exp, | ||||
testsuite/modules.70-maint/310-sh-to-mod.exp: ts: update tests now autoinit | ||||
sets PATH/MANPATH/etc | ||||
* Makefile, init/Makefile, init/zsh.in, tcl/subcmd.tcl.in: init: setup zsh | ||||
FPATH through autoinit command Add zsh FPATH setup in autoinit command | ||||
instead of zsh shell initialization script. This way all the shell setup is | ||||
gathered in the autoinit process. What is left in initialization script is | ||||
the code to properly call the autoinit process. Fixes #462. | ||||
* Makefile, init/Makefile, init/bash.in, init/csh.in, init/fish.in, | ||||
tcl/subcmd.tcl.in: init: setup shell completion through autoinit command | ||||
Add shell completion setup in autoinit command instead of shell | ||||
initialization scripts. Use this way one modulecmd.tcl internal code instead | ||||
of shell code for every shell having some completion to source (bash, tcsh, | ||||
fish). Fixes #462. | ||||
2022-06-04 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* Makefile, init/Makefile, init/bash.in, init/csh.in, init/fish.in, | ||||
init/ksh.in, init/sh.in, init/zsh.in, tcl/subcmd.tcl.in: init: setup MANPATH | ||||
through autoinit command Add MANPATH setup in autoinit command instead of | ||||
shell initialization scripts. Use this way one modulecmd.tcl internal code | ||||
instead of shell code for every shell requiring to setup MANPATH with | ||||
Modules binaries location (sh, bash, ksh, zsh, csh, tcsh, fish). Fixes | ||||
#462. | ||||
2022-06-03 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* Makefile, init/Makefile, init/bash.in, init/csh.in, init/fish.in, | ||||
init/ksh.in, init/sh.in, init/zsh.in, tcl/subcmd.tcl.in: init: setup PATH | ||||
through autoinit command Add PATH setup in autoinit command instead of | ||||
shell initialization scripts. Use this way one modulecmd.tcl internal code | ||||
instead of shell code for every shell requiring to setup PATH with Modules | ||||
binaries location (sh, bash, ksh, zsh, csh, tcsh, fish). Fixes #462. | ||||
* init/bash.in, tcl/envmngt.tcl.in: Export module bash functions directly | ||||
through autoinit Export the module, _module_raw and ml bash shell functions | ||||
directly through the autoinit sub-command process rather within the bash | ||||
shell initialization script. Cannot apply the same change to the sh shell | ||||
when it is bash launched as sh, since we cannot tell in the modulecmd.tcl | ||||
execution that the current sh shell is bash (as BASH environment variable is | ||||
not exported to sub-shells). Fixes #462. | ||||
2022-05-26 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.00-init/005-init_ts.exp, | ||||
testsuite/modules.70-maint/410-timer.exp: ts: add --timer tests in 70/410 | ||||
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. | ||||
--timer option in NEWS/changes/man | ||||
* testsuite/modules.00-init/100-pager.exp, | ||||
testsuite/modules.00-init/120-siteconfig.exp, | ||||
testsuite/modules.00-init/150-access-init.exp: ts: adapt existing tests for | ||||
timer state introduction | ||||
2022-05-25 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/mfinterp.tcl.in, tcl/modspec.tcl, tcl/report.tcl.in: Report duration | ||||
of each proc in timer debug mode When --timer option is enabled and | ||||
verbosity level is higher or equal to verbose, report trace of each | ||||
procedure executed with their duration. All regular debug messages are | ||||
replaced by these timer trace messages. | ||||
2022-05-22 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, tcl/init.tcl.in, tcl/main.tcl.in, tcl/report.tcl.in: | ||||
Introduce --timer option Add --timer global option to report execution time | ||||
in milliseconds at the end. Set start time in timer_start global variable | ||||
when --timer is set. Also enable timer state, to know later on that timer | ||||
mode has been asked. Timer report is produced at the and, in last run | ||||
procedure: cleanupAndExit. Report is shown at any verbosity level. Timer | ||||
reports are kind of debug information, thus they also use the 'db' sgr key | ||||
to get graphically enhanced. No need for a dummy reportTimer procedure like | ||||
for reportDebug, to use to gather all messages prior error report | ||||
initialization, as reportTimer is always called after error report being | ||||
initialized. | ||||
2022-05-29 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* MIGRATING.rst: doc: describe Optional requirements in MIGRATING | ||||
* testsuite/modulefiles.3/optional/1.0, | ||||
testsuite/modules.50-cmds/465-tag-opt.exp, | ||||
testsuite/modules.50-cmds/550-optional-opt.exp, | ||||
testsuite/modules.70-maint/240-icase.exp: ts: test misplaced/invalid prereq | ||||
option in 50/550 | ||||
* NEWS.rst, tcl/mfinterp.tcl.in: Error on misplaced/invalid options on | ||||
prereq commands Update prereq command parsing to raise error in case of an | ||||
invalid option or a misplaced one. | ||||
* testsuite/modules.50-cmds/550-optional-opt.exp: ts: adapt optional tests | ||||
as eval failure are not reported | ||||
* tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modeval.tcl: No report of eval | ||||
error of optional requirement Do not report the evaluation error of | ||||
optional requirements. Proceed like on a prereq-any command, when some | ||||
evaluation fails but one succeed. Update the loadRequirementModuleList | ||||
procedure by adding an argument named 'optional' to know if current load | ||||
attempt is mandatory or not. | ||||
2022-05-28 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/mfinterp.tcl.in: Disable auto loading on always-load in DepRe context | ||||
Disable auto-loading on always-load sub-command when evaluated in a | ||||
Dependency Reload context. | ||||
2022-05-27 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modulefiles.3/foo/1.0, testsuite/modulefiles.3/optional/1.0, | ||||
testsuite/modulefiles.3/optional/2.0, | ||||
testsuite/modules.50-cmds/550-optional-opt.exp: ts: add --optional option | ||||
tests in 50/550 | ||||
2022-05-22 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* NEWS.rst: doc: desc. --optional and try-load changes in NEWS | ||||
* doc/source/changes.rst, doc/source/design/lmod-tcl-modulefile-compat.rst, | ||||
doc/source/modulefile.rst: doc: desc --optional option in man/changes/design | ||||
2022-05-21 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modulefiles.3/tryload/2.0, | ||||
testsuite/modules.50-cmds/490-try-load.exp, | ||||
testsuite/modules.50-cmds/518-load-any.exp: ts: add depre tests for | ||||
try-load/load-any mfcmd | ||||
2022-05-19 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modeval.tcl, tcl/subcmd.tcl.in: | ||||
Change try_modulefile state into a cmdModuleLoad arg Replace the | ||||
try_modulefile state by the tryload argument on the cmdModuleLoad procedure. | ||||
Update prereqAnyModfileCmd, prereqAllModfileCmd and | ||||
loadRequirementModuleList procedure to pass this tryload argument all along | ||||
toward cmdModuleLoad. This is needed when evaluating module try-load and | ||||
module load-any commands in modulefile. | ||||
* tcl/mfinterp.tcl.in: Allow to pass multiple pre-args on interp cmd alias | ||||
Update initialization of the command aliases on modulefile interpreter to | ||||
allow to pre defined more than one argument to transmit. | ||||
2022-05-18 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* .aspell.en.pws, tcl/main.tcl.in: Inhibit autoload in depre ctx for all | ||||
kind of load cmd Inhibit the auto loading mechanism when module is | ||||
currently evaluated in a Dependency Reload (DepRe) context for load, | ||||
try-load and load-any sub-commands. This way it avoids to auto reload the | ||||
optional dependency module currently targeted by the main unload order from | ||||
user. | ||||
* testsuite/modules.50-cmds/152-module-emptyarg.exp, | ||||
testsuite/modules.50-cmds/465-tag-opt.exp, | ||||
testsuite/modules.50-cmds/490-try-load.exp, | ||||
testsuite/modules.61-coll/040-restore.exp: ts: adapt existing tests to | ||||
try-load prereq record change | ||||
2022-05-17 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/main.tcl.in: Use optional prereq to record try-load requirements When | ||||
try-load is used in a modulefile, record implied requirement as optional | ||||
instead of only recording those that are loaded. This way the modulefile | ||||
will get reloaded if requirement is loaded afterward. Cannot fully rely on | ||||
prereqAllModfileCmd procedure as try-load does not fully correspond to a | ||||
prereq-all --optional: an requirement evaluation error will lead to an error | ||||
of the module try-load command that will abort the modulefile evaluation. | ||||
* tcl/main.tcl.in: Refactor module load/try-load/load-any modulefile code | ||||
* testsuite/modules.70-maint/080-help.exp: ts: adapt existing tests for | ||||
prereq cmds refactoring | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/mfinterp.tcl.in: Merge | ||||
prereq-all/prereq-allAH into prereqAllModfileCmd Merge the prereq-all and | ||||
prereq-allAH procedure into a single prereqAllModfileCmd procedure taking | ||||
current auto_handling option value as first arg to know whether to | ||||
automatically load requirements or not. | ||||
* .aspell.en.pws, tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/subcmd.tcl.in: | ||||
Merge prereq/prereqAH into prereqAnyModfileCmd proc Merge the prereq and | ||||
prereqAH procedure into a single prereqAnyModfileCmd procedure taking | ||||
current auto_handling option value as first arg to know whether to | ||||
automatically load requirements or not. | ||||
2022-05-16 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* testsuite/modules.50-cmds/465-tag-opt.exp, | ||||
testsuite/modules.50-cmds/513-prereq-any.exp, | ||||
testsuite/modules.50-cmds/515-depends-on.exp, | ||||
testsuite/modules.50-cmds/516-prereq-all.exp, | ||||
testsuite/modules.50-cmds/517-always-load.exp: ts: adapt existing tests to | ||||
--optional addition | ||||
* tcl/mfinterp.tcl.in: Add --optional option to prereq commands Introduce | ||||
the --optional option on prereq commands (prereq, prereq-all, always-load, | ||||
prereq-any and depends-on) to indicate that the prereq list is fully | ||||
optional: if none of these prereqs are loaded, no error occurs. When | ||||
recording these prereq list in persistency information (__MODULES_LMPREREQ | ||||
variable), the current module name is added as first module in prereq list | ||||
to get this rule always satisfied even if no module from the prereq list is | ||||
loaded. | ||||
2022-05-15 Xavier Delaruelle <xavier.delaruelle@cea.fr> | ||||
* tcl/main.tcl.in, tcl/modeval.tcl, tcl/subcmd.tcl.in: Change any_modulefile | ||||
state into a cmdModuleLoad arg Replace any_modulefile state by the anyload | ||||
argument on cmdModuleLoad procedure. any_modulefile branch were already not | ||||
in use for 'module load-any' commands used in modulefiles. | ||||
* tcl/mfinterp.tcl.in: Make always-load proc directly use prereq-all Update | ||||
always-load procedure to make it use directly the auto_handling version of | ||||
prereq-all command. | ||||
* testsuite/modules.50-cmds/152-module-emptyarg.exp, | ||||
testsuite/modules.70-maint/080-help.exp: ts: adapt existing tests for prereq | ||||
interp refactoring | ||||
* tcl/subcmd.tcl.in: No need to disable auto_handling to call prereq Update | ||||
cmdModuleSwitch procedure as it is not anymore needed to disable | ||||
auto_handling option to call a prereq command that does not automatically | ||||
load requirements. | ||||
* tcl/main.tcl.in: Make module load rely on prereq/prereq-all cmds Update | ||||
module procedure to directly use, when 'module load' is called within a | ||||
modulefile, the prereq/prereq-all commands in their auto_handling or | ||||
non-auto_handling versions. | ||||
* .aspell.en.pws, tcl/mfinterp.tcl.in: Create auto_handling and not version | ||||
of prereq procs Split prereq and prereq-all procedures into a auto_handling | ||||
version, that attempts to automatically load requirements, and a non | ||||
auto_handling version that raise an error directly if requirement is not | ||||
already loaded. Adapt Tcl sub-interpreter initialization to make it | ||||
dependent of the auto_handling option enablement. When auto_handling is | ||||
enabled, the auto_handling versions of the prereqs procedure are configured. | ||||
With this change other parts of the code will be able to call either prereq | ||||
or prereqAH directly whether they need a load attempt or not, whatever the | ||||
current status of the auto_handling option. | ||||
2022-05-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> | 2022-05-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> | |||
* NEWS.rst, contrib/rpm/environment-modules.spec.in, doc/source/conf.py, | * NEWS.rst, contrib/rpm/environment-modules.spec.in, doc/source/conf.py, | |||
version.inc.in: Release of version 5.1.1 | version.inc.in: Release of version 5.1.1 | |||
* testsuite/is_module_defined, testsuite/modules.00-init/005-init_ts.exp: | * testsuite/is_module_defined, testsuite/modules.00-init/005-init_ts.exp: | |||
ts: fix is_modules_defined test Add bash script to test whether module | ts: fix is_modules_defined test Add bash script to test whether module | |||
function is defined | function is defined | |||
* Makefile, NEWS.rst: install: call git cmds in Makefile only if needed | * Makefile, NEWS.rst: install: call git cmds in Makefile only if needed | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1890 lines changed or added |