|
|
|
@ -2839,6 +2839,9 @@ foreach vfstail $vfs_tails {
|
|
|
|
|
#zipfs mkimg replaces the entire zipped vfs in the runtime - so we need the original data to be part of our targetvfs. |
|
|
|
|
puts stdout "building $vfsname.new with zipfs vfsdir:$vfstail cwd: [pwd]" |
|
|
|
|
file mkdir $targetvfs |
|
|
|
|
|
|
|
|
|
if {[info commands ::tcl::zipfs::mount] ne ""} { |
|
|
|
|
|
|
|
|
|
set rtmountpoint //zipfs:/rtmounts/$runtime_fullname |
|
|
|
|
|
|
|
|
|
if {![file exists $rtmountpoint]} { |
|
|
|
@ -2885,11 +2888,17 @@ foreach vfstail $vfs_tails {
|
|
|
|
|
punk::zip::extract_preamble $building_runtime $raw_runtime |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
#the input building_runtime wasn't mountable - so presumably a plain executable |
|
|
|
|
#the input building_runtime wasn't mountable as a zip - so presumably a plain executable |
|
|
|
|
#set building_runtime $buildfolder/build_$runtime_fullname ;#working copy of runtime executable - (possibly with kit/zipfs/cookfs etc attached!) |
|
|
|
|
#set raw_runtime $buildfolder/raw_$runtime_fullname |
|
|
|
|
file copy -force $building_runtime $raw_runtime |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
#tcl we are calling with doesn't have zipfs - can't mount |
|
|
|
|
puts stderr "WARNING: tcl shell '[info nameofexecutable]' being used to build doesn't have zipfs - falling back to punk::zip::extract_preamble" |
|
|
|
|
punk::zip::extract_preamble $building_runtime $raw_runtime $buildfolder/extracted_$runtime_fullname.zip |
|
|
|
|
merge_over $buildfolder/extracted_$runtime_fullname.zip $targetvfs |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
merge_over $sourcefolder/vfs/_vfscommon.vfs $targetvfs |
|
|
|
|
|
|
|
|
|