Add to the configure script the --with-locked-configs option to ignore
environment variable superseding of Modules configurations defined in
modulecmd.tcl script. Lockable configuration option are extra_siteconfig.
Currently locked options are reported through the locked_configs option
on the config sub-command.
This new configure option replces --enable-extra-siteconfig which was
dedicated to the control over the MODULES_SITECONFIG variable.
Add to the configure script the `--enable-extra-siteconfig` and
`--disable-extra-siteconfig` options to allow or forbid the definition
of a site-specific configuration script controlled with the
`MODULES_SITECONFIG` environment variable.
These options control the default value of the `g_extrasiteconfig`
variable in `modulecmd.tcl`. If this variable is true (by default),
MODULES_SITECONFIG is looked at the siteconfig sourcing time. Thus the
primary siteconfig.tcl can set the variable to false to ensure the
extra siteconfig is disabled whatever the option passed at ./configure
time.
With same behavior than on compatibility version. The list of the
environmet variables that are cleared by this sub-command has been
updated to match the recent development (MODULES_LMPREREQ, ...)
Fixes#203.
Add a cookbook section in the documentation and port there the 3
pre-existing recipes: inhibit-report-info, top-priority-values and
unload-firstly-loaded.
Move the examples files of these recipes from contrib/cookbook to
doc/example directory.
Make 'is-loaded' modulefile command callable from a modulerc
interpretation. Restore this way the behavior of compatibility version.
Update diff doc and add some specific non-regression tests in 20/060 and
50/380.
Fixes#207
system modulefile command is intended to the command passed to it trough
shell, like done on compatibility version.
So update system procedure to find correct shell on the current platform
and run command through it.
Doing so, shell commands with backticks for instance are correctly run.
Fixes#205
fixed linelength and tabs/spaces
adding set-function/unset-function documentation
adding tests for set-function/unset-function
fixed failing test for function modulefile additions
Adapt getPathToModule procedure to only look at the loaded module list
when searching a module to unload. If passed module not found in this
situation does not produce an "Unable to locate modulefile" issue.
So unloading an unexistent modulefile does not produce an error anymore,
as it was the case on compatibility version.
Moreover switching from an unexistent modulefile to another modulefile
does not produce the "Unable to locate modulefile" error and new module
load is attempted. Compatibility version does not walk in this situation
as on this version module to unload must be loaded elsewhere an error is
triggered.
Adapt testsuite and diff document.
Fixes#199
Magic cookie at the beginning of modulefiles may sometimes set a version
number, for instance '#Module1.0'. Until now this version number was
about a modulefile standard version. However there is no known
modulefile API versioning and new modulefile commands are added along
new Modules releases.
So the idea here is to match this version number optionally set on magic
cookie and compare it to the modulecmd.tcl release version. If
modulefile sets a version number greater than modulecmd.tcl version,
this modulefile is not evaluated like when no magic cookie is set at
all.
Add specific tests in 20-locate suite and adapt modulefile man page and
MIGRATING doc.
Fixes#171
* Requirement Load (ReqLo)
* Dependent Reload (DepRe)
* Useless Requirement Unload (UReqUn)
* Dependent Unload (DepUn)
Mention these mechanism titles in MIGRATION and module man page
documentations.
Reword code and tests that where previously using the DU/DR/URU short
names.
Clarify modulefile man page and .version modulerc interpretation about
ModulesVersion variable which can only refer to modulefile located in
the same directory than where this .version modulerc file is located.
Report error if a nested ModulesVersion value is detected. This value is
ignored.
Add tests in 80-deep suite on that change.
Clarifies RH#979787 [1]
Fixes#176
[1] https://bugzilla.redhat.com/show_bug.cgi?id=979787
Update documentation for module usage on scripting language like Perl or
Python to provide examples where arguments are passed as a list of
string rather a single string.
For compatibility with previously advertised examples, first argument is
splitted if multiple word are detected in it.