Browse Source

Build outputs: thin-layout make.tcl sync (kitname choice gate + mapvfs_model)

Assisted-by: harness=claude; primary-model=claude-opus-5[1m]; api-location=anthropic.com
master
Julian Noble 1 week ago
parent
commit
d5eff0f2f7
  1. 56
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/make.tcl
  2. 56
      src/project_layouts/vendor/punk/basic/src/make.tcl
  3. 56
      src/project_layouts/vendor/punk/project-0.1/src/make.tcl

56
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/make.tcl vendored

@ -775,6 +775,29 @@ proc ::punkboot::lib::mapvfs_parse {mapfile rtbase sourcefolder default_target}
return [mapvfs_parse_config $mapfile $rtbase $sourcefolder $default_target]
}
# Memoized front door: locate + parse once per distinct (mapfile, rtbase,
# sourcefolder, target) tuple within a make.tcl invocation (2026-08-02
# consolidation) - the define-time kitname choices and every handler consume
# the SAME model. mapvfs_parse is pure (no output/exits), so cached and fresh
# models are interchangeable; config edits during a single run are outside the
# contract. A THROWING locate/parse is deliberately not cached: each caller's
# attempt diagnoses fresh (identical text for a persistent problem), and the
# choices computation catches its attempt while the handlers report theirs.
# The mapfile is part of the key, so a PUNK_MAPVFS_CONFIG override keys
# distinctly from the tree's own config.
namespace eval ::punkboot::lib {
variable mapvfs_model_cache [dict create]
}
proc ::punkboot::lib::mapvfs_model {rt_sourcefolder rtbase sourcefolder default_target} {
variable mapvfs_model_cache
set mapfile [mapvfs_locate $rt_sourcefolder]
set key [list $mapfile $rtbase $sourcefolder $default_target]
if {![dict exists $mapvfs_model_cache $key]} {
dict set mapvfs_model_cache $key [mapvfs_parse $mapfile $rtbase $sourcefolder $default_target]
}
return [dict get $mapvfs_model_cache $key]
}
# G-024 canonical reader: mapvfs.toml. Strict per-entry validation - a malformed
# or unresolvable declaration lands in configerrors naming its table (the bake
# path aborts on configerrors; missing-on-disk runtime/vfs items land in
@ -3391,27 +3414,34 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
already verifies against the server sha1sums."
}
#bake and bakelist take optional trailing kit names (G-121 selective bake).
#Discoverability nicety: the configured kit names are offered as choices when
#the mapping parses at definition time - informational only (-choicerestricted
#0), so the handlers' own validation (which lists the configured names, and
#still works when the mapping cannot be parsed here) stays authoritative.
#The configured kit names + @group selectors become RESTRICTED choices when
#the mapping parses at definition time (-choicerestricted 1, 2026-08-02 -
#declaration-authoritative per the G-143 arc): dispatch rejects an unknown
#kit with the punk::args choice error (the same configured-names
#information the handler error carries), unambiguous prefixes resolve to
#canonical names, and the dry-run help mirrors the verdict. The read is
#the same memoized model the handlers consume (mapvfs_model - one parse
#per invocation). When the mapping cannot be parsed here the choices
#clause is omitted entirely (no gate) and the handlers' own validation
#remains the backstop - as it also is in PUNKBOOT_PLAIN degraded mode,
#where these definitions don't exist.
#KITNAME_CHOICEPART persists as a namespace variable because the kitname
#records below interpolate it at definition RESOLVE time (lazy - first
#parse/usage/get_spec of the bake/bakelist ids).
variable KITNAME_CHOICES [list]
catch {
set _mapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate [file join $::punkboot::scriptfolder runtime]] "" $::punkboot::scriptfolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_mapmodel "" $::punkboot::scriptfolder] {
set _mapmodel [punkboot::lib::mapvfs_model [file join $::punkboot::scriptfolder runtime] [file dirname $::punkboot::scriptfolder]/bin/runtime $::punkboot::scriptfolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_mapmodel [file dirname $::punkboot::scriptfolder]/bin/runtime $::punkboot::scriptfolder] {
lappend KITNAME_CHOICES [dict get $_rec kitname]
}
#G-024 group selectors join the informational choices (@<group>)
#G-024 group selectors join the choices (@<group>)
foreach _g [dict keys [dict get $_mapmodel groups]] {
lappend KITNAME_CHOICES @$_g
}
}
variable KITNAME_CHOICEPART ""
if {[llength $KITNAME_CHOICES]} {
set KITNAME_CHOICEPART " -choices [list $KITNAME_CHOICES] -choicerestricted 0"
set KITNAME_CHOICEPART " -choices [list $KITNAME_CHOICES] -choicerestricted 1"
}
#per-subcommand definitions: braced file-style blocks with -& record
#continuations (G-045). -summary values and -help bodies are pulled from
@ -4147,7 +4177,7 @@ set ::punkboot::bake_selected_vfs [list] ;#vfs folder tails the selected
set ::punkboot::bake_selected_runtimes [list] ;#unsuffixed runtime names the selected kits wrap
if {$::punkboot::command eq "bake" && [llength $::punkboot::opt_kitnames]} {
set _rtbase $binfolder/runtime
set _mapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] $_rtbase $sourcefolder $::punkboot::target_platform]
set _mapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $_rtbase $sourcefolder $::punkboot::target_platform]
if {[llength [dict get $_mapmodel configerrors]]} {
foreach _errline [dict get $_mapmodel configerrors] {
puts stderr $_errline
@ -4715,7 +4745,7 @@ if {$::punkboot::command eq "check"} {
}
set _smoke_declared [list]
if {[file exists [punkboot::lib::mapvfs_locate $sourcefolder/runtime]]} {
set _smokemodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] [file dirname $sourcefolder]/bin/runtime $sourcefolder $::punkboot::target_platform]
set _smokemodel [punkboot::lib::mapvfs_model $sourcefolder/runtime [file dirname $sourcefolder]/bin/runtime $sourcefolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_smokemodel [file dirname $sourcefolder]/bin/runtime $sourcefolder] {
if {[llength [dict get $_rec smokerequire]]} {
lappend _smoke_declared "[dict get $_rec kitname] ([join [dict get $_rec smokerequire] {, }])"
@ -4932,7 +4962,7 @@ if {$::punkboot::command eq "bakelist"} {
set rtfolder $rtbase/$rt_os_arch
set buildfolder $sourcefolder/_build
set mapfile [punkboot::lib::mapvfs_locate $sourcefolder/runtime]
set mapmodel [punkboot::lib::mapvfs_parse $mapfile $rtbase $sourcefolder $rt_default_target]
set mapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $rtbase $sourcefolder $rt_default_target]
foreach errline [dict get $mapmodel configerrors] {
puts stderr $errline
}
@ -6542,7 +6572,7 @@ if {$::punkboot::command in {bakehouse bake vfslibs}} {
#only its own target's payload.
set vfspayload_kit_targets [dict create]
if {[llength $payload_files]} {
set _pmapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] $binfolder/runtime $sourcefolder $::punkboot::target_platform]
set _pmapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $binfolder/runtime $sourcefolder $::punkboot::target_platform]
if {[llength [dict get $_pmapmodel configerrors]]} {
puts stderr "WARNING: VFSPAYLOAD: kit-mapping config errors - per-platform (%platform%) payload derivation unavailable this run (the mapping's own gates report the errors)"
} else {
@ -7139,7 +7169,7 @@ proc ::punkboot::runtime_materialization_warning {rtfolder runtime_fullname} {
#store tiers this bake must look in - an entry declaring a target platform other
#than the host default addresses its own bin/runtime/<tier>.
set mapfile [punkboot::lib::mapvfs_locate $rt_sourcefolder]
set mapmodel [punkboot::lib::mapvfs_parse $mapfile $rtbase $sourcefolder $rt_default_target]
set mapmodel [punkboot::lib::mapvfs_model $rt_sourcefolder $rtbase $sourcefolder $rt_default_target]
foreach warnline [dict get $mapmodel warnings] {
puts stderr $warnline
}

56
src/project_layouts/vendor/punk/basic/src/make.tcl vendored

@ -775,6 +775,29 @@ proc ::punkboot::lib::mapvfs_parse {mapfile rtbase sourcefolder default_target}
return [mapvfs_parse_config $mapfile $rtbase $sourcefolder $default_target]
}
# Memoized front door: locate + parse once per distinct (mapfile, rtbase,
# sourcefolder, target) tuple within a make.tcl invocation (2026-08-02
# consolidation) - the define-time kitname choices and every handler consume
# the SAME model. mapvfs_parse is pure (no output/exits), so cached and fresh
# models are interchangeable; config edits during a single run are outside the
# contract. A THROWING locate/parse is deliberately not cached: each caller's
# attempt diagnoses fresh (identical text for a persistent problem), and the
# choices computation catches its attempt while the handlers report theirs.
# The mapfile is part of the key, so a PUNK_MAPVFS_CONFIG override keys
# distinctly from the tree's own config.
namespace eval ::punkboot::lib {
variable mapvfs_model_cache [dict create]
}
proc ::punkboot::lib::mapvfs_model {rt_sourcefolder rtbase sourcefolder default_target} {
variable mapvfs_model_cache
set mapfile [mapvfs_locate $rt_sourcefolder]
set key [list $mapfile $rtbase $sourcefolder $default_target]
if {![dict exists $mapvfs_model_cache $key]} {
dict set mapvfs_model_cache $key [mapvfs_parse $mapfile $rtbase $sourcefolder $default_target]
}
return [dict get $mapvfs_model_cache $key]
}
# G-024 canonical reader: mapvfs.toml. Strict per-entry validation - a malformed
# or unresolvable declaration lands in configerrors naming its table (the bake
# path aborts on configerrors; missing-on-disk runtime/vfs items land in
@ -3391,27 +3414,34 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
already verifies against the server sha1sums."
}
#bake and bakelist take optional trailing kit names (G-121 selective bake).
#Discoverability nicety: the configured kit names are offered as choices when
#the mapping parses at definition time - informational only (-choicerestricted
#0), so the handlers' own validation (which lists the configured names, and
#still works when the mapping cannot be parsed here) stays authoritative.
#The configured kit names + @group selectors become RESTRICTED choices when
#the mapping parses at definition time (-choicerestricted 1, 2026-08-02 -
#declaration-authoritative per the G-143 arc): dispatch rejects an unknown
#kit with the punk::args choice error (the same configured-names
#information the handler error carries), unambiguous prefixes resolve to
#canonical names, and the dry-run help mirrors the verdict. The read is
#the same memoized model the handlers consume (mapvfs_model - one parse
#per invocation). When the mapping cannot be parsed here the choices
#clause is omitted entirely (no gate) and the handlers' own validation
#remains the backstop - as it also is in PUNKBOOT_PLAIN degraded mode,
#where these definitions don't exist.
#KITNAME_CHOICEPART persists as a namespace variable because the kitname
#records below interpolate it at definition RESOLVE time (lazy - first
#parse/usage/get_spec of the bake/bakelist ids).
variable KITNAME_CHOICES [list]
catch {
set _mapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate [file join $::punkboot::scriptfolder runtime]] "" $::punkboot::scriptfolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_mapmodel "" $::punkboot::scriptfolder] {
set _mapmodel [punkboot::lib::mapvfs_model [file join $::punkboot::scriptfolder runtime] [file dirname $::punkboot::scriptfolder]/bin/runtime $::punkboot::scriptfolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_mapmodel [file dirname $::punkboot::scriptfolder]/bin/runtime $::punkboot::scriptfolder] {
lappend KITNAME_CHOICES [dict get $_rec kitname]
}
#G-024 group selectors join the informational choices (@<group>)
#G-024 group selectors join the choices (@<group>)
foreach _g [dict keys [dict get $_mapmodel groups]] {
lappend KITNAME_CHOICES @$_g
}
}
variable KITNAME_CHOICEPART ""
if {[llength $KITNAME_CHOICES]} {
set KITNAME_CHOICEPART " -choices [list $KITNAME_CHOICES] -choicerestricted 0"
set KITNAME_CHOICEPART " -choices [list $KITNAME_CHOICES] -choicerestricted 1"
}
#per-subcommand definitions: braced file-style blocks with -& record
#continuations (G-045). -summary values and -help bodies are pulled from
@ -4147,7 +4177,7 @@ set ::punkboot::bake_selected_vfs [list] ;#vfs folder tails the selected
set ::punkboot::bake_selected_runtimes [list] ;#unsuffixed runtime names the selected kits wrap
if {$::punkboot::command eq "bake" && [llength $::punkboot::opt_kitnames]} {
set _rtbase $binfolder/runtime
set _mapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] $_rtbase $sourcefolder $::punkboot::target_platform]
set _mapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $_rtbase $sourcefolder $::punkboot::target_platform]
if {[llength [dict get $_mapmodel configerrors]]} {
foreach _errline [dict get $_mapmodel configerrors] {
puts stderr $_errline
@ -4715,7 +4745,7 @@ if {$::punkboot::command eq "check"} {
}
set _smoke_declared [list]
if {[file exists [punkboot::lib::mapvfs_locate $sourcefolder/runtime]]} {
set _smokemodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] [file dirname $sourcefolder]/bin/runtime $sourcefolder $::punkboot::target_platform]
set _smokemodel [punkboot::lib::mapvfs_model $sourcefolder/runtime [file dirname $sourcefolder]/bin/runtime $sourcefolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_smokemodel [file dirname $sourcefolder]/bin/runtime $sourcefolder] {
if {[llength [dict get $_rec smokerequire]]} {
lappend _smoke_declared "[dict get $_rec kitname] ([join [dict get $_rec smokerequire] {, }])"
@ -4932,7 +4962,7 @@ if {$::punkboot::command eq "bakelist"} {
set rtfolder $rtbase/$rt_os_arch
set buildfolder $sourcefolder/_build
set mapfile [punkboot::lib::mapvfs_locate $sourcefolder/runtime]
set mapmodel [punkboot::lib::mapvfs_parse $mapfile $rtbase $sourcefolder $rt_default_target]
set mapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $rtbase $sourcefolder $rt_default_target]
foreach errline [dict get $mapmodel configerrors] {
puts stderr $errline
}
@ -6542,7 +6572,7 @@ if {$::punkboot::command in {bakehouse bake vfslibs}} {
#only its own target's payload.
set vfspayload_kit_targets [dict create]
if {[llength $payload_files]} {
set _pmapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] $binfolder/runtime $sourcefolder $::punkboot::target_platform]
set _pmapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $binfolder/runtime $sourcefolder $::punkboot::target_platform]
if {[llength [dict get $_pmapmodel configerrors]]} {
puts stderr "WARNING: VFSPAYLOAD: kit-mapping config errors - per-platform (%platform%) payload derivation unavailable this run (the mapping's own gates report the errors)"
} else {
@ -7139,7 +7169,7 @@ proc ::punkboot::runtime_materialization_warning {rtfolder runtime_fullname} {
#store tiers this bake must look in - an entry declaring a target platform other
#than the host default addresses its own bin/runtime/<tier>.
set mapfile [punkboot::lib::mapvfs_locate $rt_sourcefolder]
set mapmodel [punkboot::lib::mapvfs_parse $mapfile $rtbase $sourcefolder $rt_default_target]
set mapmodel [punkboot::lib::mapvfs_model $rt_sourcefolder $rtbase $sourcefolder $rt_default_target]
foreach warnline [dict get $mapmodel warnings] {
puts stderr $warnline
}

56
src/project_layouts/vendor/punk/project-0.1/src/make.tcl vendored

@ -775,6 +775,29 @@ proc ::punkboot::lib::mapvfs_parse {mapfile rtbase sourcefolder default_target}
return [mapvfs_parse_config $mapfile $rtbase $sourcefolder $default_target]
}
# Memoized front door: locate + parse once per distinct (mapfile, rtbase,
# sourcefolder, target) tuple within a make.tcl invocation (2026-08-02
# consolidation) - the define-time kitname choices and every handler consume
# the SAME model. mapvfs_parse is pure (no output/exits), so cached and fresh
# models are interchangeable; config edits during a single run are outside the
# contract. A THROWING locate/parse is deliberately not cached: each caller's
# attempt diagnoses fresh (identical text for a persistent problem), and the
# choices computation catches its attempt while the handlers report theirs.
# The mapfile is part of the key, so a PUNK_MAPVFS_CONFIG override keys
# distinctly from the tree's own config.
namespace eval ::punkboot::lib {
variable mapvfs_model_cache [dict create]
}
proc ::punkboot::lib::mapvfs_model {rt_sourcefolder rtbase sourcefolder default_target} {
variable mapvfs_model_cache
set mapfile [mapvfs_locate $rt_sourcefolder]
set key [list $mapfile $rtbase $sourcefolder $default_target]
if {![dict exists $mapvfs_model_cache $key]} {
dict set mapvfs_model_cache $key [mapvfs_parse $mapfile $rtbase $sourcefolder $default_target]
}
return [dict get $mapvfs_model_cache $key]
}
# G-024 canonical reader: mapvfs.toml. Strict per-entry validation - a malformed
# or unresolvable declaration lands in configerrors naming its table (the bake
# path aborts on configerrors; missing-on-disk runtime/vfs items land in
@ -3391,27 +3414,34 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
already verifies against the server sha1sums."
}
#bake and bakelist take optional trailing kit names (G-121 selective bake).
#Discoverability nicety: the configured kit names are offered as choices when
#the mapping parses at definition time - informational only (-choicerestricted
#0), so the handlers' own validation (which lists the configured names, and
#still works when the mapping cannot be parsed here) stays authoritative.
#The configured kit names + @group selectors become RESTRICTED choices when
#the mapping parses at definition time (-choicerestricted 1, 2026-08-02 -
#declaration-authoritative per the G-143 arc): dispatch rejects an unknown
#kit with the punk::args choice error (the same configured-names
#information the handler error carries), unambiguous prefixes resolve to
#canonical names, and the dry-run help mirrors the verdict. The read is
#the same memoized model the handlers consume (mapvfs_model - one parse
#per invocation). When the mapping cannot be parsed here the choices
#clause is omitted entirely (no gate) and the handlers' own validation
#remains the backstop - as it also is in PUNKBOOT_PLAIN degraded mode,
#where these definitions don't exist.
#KITNAME_CHOICEPART persists as a namespace variable because the kitname
#records below interpolate it at definition RESOLVE time (lazy - first
#parse/usage/get_spec of the bake/bakelist ids).
variable KITNAME_CHOICES [list]
catch {
set _mapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate [file join $::punkboot::scriptfolder runtime]] "" $::punkboot::scriptfolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_mapmodel "" $::punkboot::scriptfolder] {
set _mapmodel [punkboot::lib::mapvfs_model [file join $::punkboot::scriptfolder runtime] [file dirname $::punkboot::scriptfolder]/bin/runtime $::punkboot::scriptfolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_mapmodel [file dirname $::punkboot::scriptfolder]/bin/runtime $::punkboot::scriptfolder] {
lappend KITNAME_CHOICES [dict get $_rec kitname]
}
#G-024 group selectors join the informational choices (@<group>)
#G-024 group selectors join the choices (@<group>)
foreach _g [dict keys [dict get $_mapmodel groups]] {
lappend KITNAME_CHOICES @$_g
}
}
variable KITNAME_CHOICEPART ""
if {[llength $KITNAME_CHOICES]} {
set KITNAME_CHOICEPART " -choices [list $KITNAME_CHOICES] -choicerestricted 0"
set KITNAME_CHOICEPART " -choices [list $KITNAME_CHOICES] -choicerestricted 1"
}
#per-subcommand definitions: braced file-style blocks with -& record
#continuations (G-045). -summary values and -help bodies are pulled from
@ -4147,7 +4177,7 @@ set ::punkboot::bake_selected_vfs [list] ;#vfs folder tails the selected
set ::punkboot::bake_selected_runtimes [list] ;#unsuffixed runtime names the selected kits wrap
if {$::punkboot::command eq "bake" && [llength $::punkboot::opt_kitnames]} {
set _rtbase $binfolder/runtime
set _mapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] $_rtbase $sourcefolder $::punkboot::target_platform]
set _mapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $_rtbase $sourcefolder $::punkboot::target_platform]
if {[llength [dict get $_mapmodel configerrors]]} {
foreach _errline [dict get $_mapmodel configerrors] {
puts stderr $_errline
@ -4715,7 +4745,7 @@ if {$::punkboot::command eq "check"} {
}
set _smoke_declared [list]
if {[file exists [punkboot::lib::mapvfs_locate $sourcefolder/runtime]]} {
set _smokemodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] [file dirname $sourcefolder]/bin/runtime $sourcefolder $::punkboot::target_platform]
set _smokemodel [punkboot::lib::mapvfs_model $sourcefolder/runtime [file dirname $sourcefolder]/bin/runtime $sourcefolder $::punkboot::target_platform]
foreach _rec [punkboot::lib::mapvfs_kit_outputs $_smokemodel [file dirname $sourcefolder]/bin/runtime $sourcefolder] {
if {[llength [dict get $_rec smokerequire]]} {
lappend _smoke_declared "[dict get $_rec kitname] ([join [dict get $_rec smokerequire] {, }])"
@ -4932,7 +4962,7 @@ if {$::punkboot::command eq "bakelist"} {
set rtfolder $rtbase/$rt_os_arch
set buildfolder $sourcefolder/_build
set mapfile [punkboot::lib::mapvfs_locate $sourcefolder/runtime]
set mapmodel [punkboot::lib::mapvfs_parse $mapfile $rtbase $sourcefolder $rt_default_target]
set mapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $rtbase $sourcefolder $rt_default_target]
foreach errline [dict get $mapmodel configerrors] {
puts stderr $errline
}
@ -6542,7 +6572,7 @@ if {$::punkboot::command in {bakehouse bake vfslibs}} {
#only its own target's payload.
set vfspayload_kit_targets [dict create]
if {[llength $payload_files]} {
set _pmapmodel [punkboot::lib::mapvfs_parse [punkboot::lib::mapvfs_locate $sourcefolder/runtime] $binfolder/runtime $sourcefolder $::punkboot::target_platform]
set _pmapmodel [punkboot::lib::mapvfs_model $sourcefolder/runtime $binfolder/runtime $sourcefolder $::punkboot::target_platform]
if {[llength [dict get $_pmapmodel configerrors]]} {
puts stderr "WARNING: VFSPAYLOAD: kit-mapping config errors - per-platform (%platform%) payload derivation unavailable this run (the mapping's own gates report the errors)"
} else {
@ -7139,7 +7169,7 @@ proc ::punkboot::runtime_materialization_warning {rtfolder runtime_fullname} {
#store tiers this bake must look in - an entry declaring a target platform other
#than the host default addresses its own bin/runtime/<tier>.
set mapfile [punkboot::lib::mapvfs_locate $rt_sourcefolder]
set mapmodel [punkboot::lib::mapvfs_parse $mapfile $rtbase $sourcefolder $rt_default_target]
set mapmodel [punkboot::lib::mapvfs_model $rt_sourcefolder $rtbase $sourcefolder $rt_default_target]
foreach warnline [dict get $mapmodel warnings] {
puts stderr $warnline
}

Loading…
Cancel
Save