mirror of
https://github.com/envmodules/modules.git
synced 2026-05-30 00:12:31 +08:00
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.
27 lines
973 B
Plaintext
27 lines
973 B
Plaintext
# define modules runtime quarantine configuration
|
|
@setquarvars@set -xg MODULES_RUN_QUARANTINE '@RUN_QUARANTINE@'
|
|
@setquarvars@@set -xg RUNENV_VAR 'RUNENV_VAL'@
|
|
@notsetquarvars@#set -xg MODULES_RUN_QUARANTINE 'ENVVARNAME'
|
|
@notsetquarvars@
|
|
# setup quarantine if defined
|
|
set _mlre '';
|
|
for _mlv in (string split ' ' $MODULES_RUN_QUARANTINE)
|
|
if string match -r '^[A-Za-z_][A-Za-z0-9_]*$' $_mlv >/dev/null
|
|
if set -q $_mlv
|
|
set _mlre $_mlre"__MODULES_QUAR_"$_mlv"='$$_mlv' "
|
|
end
|
|
set _mlrv "MODULES_RUNENV_$_mlv"
|
|
set _mlre "$_mlre$_mlv='$$_mlrv' "
|
|
end
|
|
end
|
|
if [ -n "$_mlre" ]
|
|
set _mlre "env $_mlre __MODULES_QUARANTINE_SET=1"
|
|
end
|
|
|
|
# define module command and surrounding initial environment (default value
|
|
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
|
|
eval $_mlre @TCLSH@ \'@libexecdir@/modulecmd.tcl\' fish autoinit | source -
|
|
|
|
# clean temp variables used to setup quarantine
|
|
set -e _mlre; set -e _mlv; set -e _mlrv;
|