File: tcl.in

package info (click to toggle)
modules 5.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,493; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (34 lines) | stat: -rw-r--r-- 1,228 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# define modules runtime quarantine configuration
@setquarvars@set env(MODULES_RUN_QUARANTINE) "@RUN_QUARANTINE@"
@setquarvars@@set env(RUNENV_VAR) "RUNENV_VAL"@
@notsetquarvars@#set env(MODULES_RUN_QUARANTINE) "ENVVARNAME"
@notsetquarvars@
# setup quarantine if defined
set _mlre {}; set _mlv ""; set _mlrv "";
if {[info exists env(MODULES_RUN_QUARANTINE)]} {
   foreach _mlv [split $env(MODULES_RUN_QUARANTINE) " "] {
     if {[regexp {^[A-Za-z_][A-Za-z0-9_]*$} $_mlv]} {
        if {[info exists env($_mlv)]} {
           lappend _mlre "__MODULES_QUAR_${_mlv}=$env($_mlv)"
        }
        set _mlrv "MODULES_RUNENV_${_mlv}"
        if {[info exists env($_mlrv)]} {
           lappend _mlre "${_mlv}=$env($_mlrv)"
        } else {
           lappend _mlre "${_mlv}="
        }
     }
   }
   if {[llength $_mlre]} {
     lappend _mlre "__MODULES_QUARANTINE_SET=1"
     set _mlre [linsert $_mlre 0 "env"]
   }
}

# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
eval [exec {*}$_mlre {@TCLSH@}\
   {@libexecdir@/modulecmd.tcl} tcl autoinit 2>@stderr]

# clean temp variables used to setup quarantine
unset _mlre _mlv _mlrv