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
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
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
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
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
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.
Add rpmlint rc configuration file to filter false positive warning
messages when checking RPM spec file and built packages.
Update 'mrel' script to use this rc configuration file when linting RPM
spec file.
Rename the environment variables that are used by Modules to track
loaded environment state (variables whose name starts with `MODULES_LM`).
A `__` prefix is added to the name of these variables to indicate that
they are intended for internal use only.
Introduce the non-regression quick test mode. When the `QUICKTEST`
environment variable is set to 1, only the main tests from the
non-regression testsuite are run.
When first argument of the `mt` script is `quick`, tests are run in
quick mode.
Goal is to complete the quick tests in a minute, rather the 10+ minutes
required by the full testsuite.
createmodule.sh and createmodule.py scripts are superseded by the
`sh-to-mod` sub-command that supports conversion from more shell
languages (ksh, zsh, fish, csh) and handles more environment changes
(alias, shell function).
Change license of envml and envml.cmd scripts from GPLv3+ to GPLv2+.
Align this way all files from the Modules project under the GPLv2+
license.
Consent has been obtained from the copyright holders (I and @jraphanel)
to perform such move. Consent from Jacques Raphanel was collected by
email.
Related to #389
Change license of mb, mlprof, modulecmd, mpub, mrel, mt, mtreview,
nglfar2ccov and playdemo scripts from GPLv3+ to GPLv2+.
Align this way all files from the Modules project under the GPLv2+
license.
Consent has been obtained from copyright holder to perform such move (I
hold the full copyright for these script files).
Related to #389
In case last bugfix release was made from a branch not parent of the
current branch from which the next release will be rolled out. List all
tags and get previous version name from the second to last position.
Add the save_test_env and reset_test_env procedure to record original
test environment (global and environment variables) and restore it once
a test set has been done.
Remove the --base64-failed-log option from the mt script as there is no
more need to output full test output serialized since the CI systems now
used can upload the test log files as artifact.