[Starkit] Disection 101
Jean-Claude Wippler
jcw at equi4.com
Mon Mar 6 19:43:35 CET 2006
Steve Blinkhorn wrote:
>> + if {![mk::view size $db.dirs] || [mk::get $db.dirs!0
>> parent] != -1} {
[...]
> Phew! Well it works on NetBSD. If you would like to do a Windows
> build we'll happily test it in the live circumstances where we have
> run up against the problem.
Since it might be of more general use, here's a little description on
how to make changes to the VFS of any tclkit or other starpack:
$ sdx mksplit tclkit.exe
tclkit.head: 712192 bytes
tclkit.tail: 254409 bytes
$ sdx unwrap tclkit.tail
88 updates applied
$ grep 'view size .db.dirs' tclkit.vfs/lib/vfs/mk4vfs.tcl
if { [mk::view size $db.dirs] == 0 } {
$ # make changes...
$ grep 'view size .db.dirs' tclkit.vfs/lib/vfs/mk4vfs.tcl
if { [mk::view size $db.dirs] == 0 } {
if {![mk::view size $db.dirs] || [mk::get $db.dirs!0
parent] != -1} {
$ sdx wrap tclkit.exe -runtime tclkit.head
88 updates applied
$
This splits the exe head off and reassembles everything exactly as it
was when wrappign things up again. The tail is a VFS, and can be
unwrapped as usual.
Unfortunately, I just went through a round of tclkit 8.4.12 and 8.5a4
builds a few days ago and don't really want to redo them at this
stage. Note that the above can be applied to any tclkit binary, FWIW.
-jcw
More information about the Starkit
mailing list