mirror of
https://github.com/Pmodules/Pmodules.git
synced 2026-06-23 16:17:59 +02:00
modulecmd: bugfix in setting V_MINOR
V_MINOR was not set correct if the version number consist of a major and minor number plus a suffix.
This commit is contained in:
+25
-18
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user