Remove the '-' character from the list of extended default separator
characters, as it is not feasible to determine in all cases the highest
version specified after this character (to determine an implicit
default). This removal means that only '.' is taken into account as
extended default separator.
Add support for standard variables CLICOLOR and CLICOLOR_FORCE to define
color mode. Implement specification for these variables described at
https://bixense.com/clicolors/.
Fixes#279.
Fix location of ``etc/rc`` global RC file to ``@etcdir@/rc`` instead of
``@prefix@/etc/rc`` to cope with ``@etcdir@`` specific setup (defaults
to ``@prefix@/etc``).
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.
* 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.
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.
Quote autoinit result for eval interpretation on SH-kind shells to
avoid parameter expansion to randomly occur on generated code
depending on file or directory names of current working directory.
Test basic module commands in install testsuite with a
'something (test)' file existing in current working directory.
Fixes bug reported at [1].
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1549664
As for the PAGER environment variable, do not consider anymore the LESS
environment variable for Modules pager configuration in order to avoid
side effects coming from a general pager configuration not compatible
with Modules pager handling.
Previously when LESS was spotted defined, default paging command options
were blanked if default pager was 'less'. With this change, even if LESS
environment variable is defined, default paging command options are
still taken into account.
Adapt doc and tests accordingly.
Complements #146
Do not consider anymore the PAGER environment variable for Modules pager
configuration in order to avoid side effects coming from a general pager
configuration not compatible with Modules pager handling.
This change makes Modules pager implementation moving away from Git
pager implementation (which was taken as reference to model configuration
behavior of Modules pager). Git is able to withstand any pager
configuration, especially to quit pager if content fits in one screen.
Not the case with our implementation currently, so it is safer to only
take into account pager configuration that is specific to Modules.
Adapt doc and tests accordingly.
Fixes#146
Add the possibility to setup a site-specific configuration Tcl script
which will be sourced at the start of modulecmd.tcl. This site-specific
Tcl script enables to supersede global variable and procedure definition
made in modulecmd.tcl. This way local adaptations can be made without
editing the modulecmd.tcl script.
'--etcdir' configure option is added to specify the location of the
site-specific configuration script.
Remove path entry in environment variable by passing an index rather a
string. String at specified index in content list is removed if coherent
with relative reference counter.
Let the possibility to append or prepend path element entry to a
variable even if this entry is already registered into the variable
which introduces duplicates element within the variable value.
Entries are added with eventual duplication by the use of the
--duplicate option on append-path and prepend-path commands. These
additions increment the reference counter as usual.
Removal of duplicated path entry depends on the reference counter value.
Entries are not removed unless reference counter value is lesser than
the number of duplicated entries.
Enable append-path, prepend-path and remove-path to receive multiple
path value arguments.
Add some non-regression tests for modulefile or sub-command cases.
Update modulefile.4 and module.1 docs.
Closes#141
Add the ability to always record module name + version even if this
version corresponds to the default one.
By default, version number is omitted if it corresponds to the implicit
or explicitly set default version. If MODULES_COLLECTION_PIN_VERSION
environment variable is set to 1, version number is always recorded.
When restoring a collection, we do not know for sure if it was saved
with pinned versions or not, so module load and unload movements are
determined on both simplified or raw module list. Results with less
module to load or unload (means with more matches between module lists)
are kept.
Acknowledgment: this development has been made and funded within the
framework of the PRACE Fifth Implementation Phase (PRACE-5IP) project
(http://www.prace-ri.eu/). PRACE-5IP receives funding from the EU's
Horizon 2020 research and innovation programme (2014-2020) under grant
agreement no. 730913.
Closes#89
Returns true when no argument is passed to 'is-used' if any directory
is used, whatever it is.
Adapt docs and test cases to this new behavior.
Acknowledgment: this development has been made and funded within the
framework of the PRACE Fifth Implementation Phase (PRACE-5IP) project
(http://www.prace-ri.eu/). PRACE-5IP receives funding from the EU's
Horizon 2020 research and innovation programme (2014-2020) under grant
agreement no. 730913.
Closes#144
Returns true when no argument is passed to 'is-saved' if any collection
matching currently set collection target exists whatever this collection
is.
Adapt docs and test cases to this new behavior.
Acknowledgment: this development has been made and funded within the
framework of the PRACE Fifth Implementation Phase (PRACE-5IP) project
(http://www.prace-ri.eu/). PRACE-5IP receives funding from the EU's
Horizon 2020 research and innovation programme (2014-2020) under grant
agreement no. 730913.
Returns true when no argument is passed to 'is-loaded' if any modulefile
is loaded, whatever it is.
Adapt docs and test cases to this new behavior.
Acknowledgment: this development has been made and funded within the
framework of the PRACE Fifth Implementation Phase (PRACE-5IP) project
(http://www.prace-ri.eu/). PRACE-5IP receives funding from the EU's
Horizon 2020 research and innovation programme (2014-2020) under grant
agreement no. 730913.