diff --git a/Pmodules/libmodules.tcl b/Pmodules/libmodules.tcl index 3af0ad6..7f81026 100644 --- a/Pmodules/libmodules.tcl +++ b/Pmodules/libmodules.tcl @@ -36,10 +36,10 @@ proc _pmodules_parse_pmodules_env { } { # 'typeset -p VAR' - to Tcl. # foreach line [split [base64::decode $::env(PMODULES_ENV)] "\n"] { - if { ![regexp -- {.* -[aAx]* (.*)=\((.*)\)} $line -> name value] } { + if { ![regexp -- {.* -[aAx]* (.*)=\((.*)\)} $line -> key value] } { continue } - switch $name { + switch $key { Dir2OverlayMap { array set ::Dir2OverlayMap [regsub -all {[]=[]} $value " "] } @@ -287,24 +287,24 @@ proc ModulesHelp { } { proc _find_overlay { modulefile_components } { debug "_find_overlay()" foreach ol $::UsedOverlays { - debug "$ol" + debug "ol = $ol" set ol_mod_root $::OverlayInfo(${ol}:mod_root) if { [string range $ol_mod_root end end] == "/" } { set ol_mod_root [string range $ol_mod_root 0 end-1] } - debug "$ol_mod_root" + debug "ol_mod_root = $ol_mod_root" set ol_mod_root_splitted [file split $ol_mod_root] set modulefile_root [file join \ {*}[lrange \ $modulefile_components \ 0 [expr [llength $ol_mod_root_splitted] - 1]]] - debug "$modulefile_root" + debug "modulefile_root = $modulefile_root" if { [string compare $ol_mod_root $modulefile_root] == 0 } { - debug "$ol_mod_root_splitted" + debug "ol_mod_root_splitted = $ol_mod_root_splitted" return $ol_mod_root_splitted } } - debug "not found" + debug "overlay not found" return {} } @@ -338,22 +338,26 @@ proc _pmodules_init_global_vars { } { set group [lindex $rel_modulefile 0] set GROUP "${group}" set name [lindex $modulefile_splitted end-1] - set P "${name}" set version [lindex $modulefile_splitted end] - set V "${version}" - lassign [split $V -] V_PKG tmp - set V_RELEASE [lindex [split $tmp _] 0] + + set suffixes [lassign [split $version _] v] + lassign [split $v -] V_PKG V_RELEASE lassign [split $V_PKG .] V_MAJOR V_MINOR V_PATCHLVL + set variant [lrange $rel_modulefile 2 end] - set mod_root [file join {*}$ol_mod_root_splitted] - debug "mod_root=$mod_root" - set ol $::Dir2OverlayMap($mod_root) - debug "ol=$ol" - set install_prefix [file split $::OverlayInfo(${ol}:inst_root)] + set mod_root [file join {*}$ol_mod_root_splitted] + set ol $::Dir2OverlayMap($mod_root) + + set install_prefix [file split $::OverlayInfo(${ol}:inst_root)] set prefix "$install_prefix $group [lreverse_n $variant 2]" set PREFIX [file join {*}$prefix] - debug "PREFIX=$PREFIX" - debug "group of module $name: $group" + set P "${name}" + set V "${version}" + + debug "mod_root=$mod_root" + debug "ol=$ol" + debug "PREFIX=$PREFIX" + debug "group of module $name: $group" } if { [info exists ::whatis] } { @@ -370,3 +374,6 @@ if {[_is_in_overlay] == 0} { } debug "return from lib" +# Local Variables: +# tcl-indent-level: 8 +# End: