hoge.kit]でstarkit形式のパッケージが読みこめるというのを知って、ちょっと興味がでてきたので使い方をまとめてみる。†starkitはスクリプトやらバイナリやらを一つのファイルにまとめる仮想ファイルシステムで、starkit拡張の実体はlib/vfs1.x/starkit.tclのようだ。ActiveTclではデフォでインストールされている。あと名前がややこしい。Tclkit(tclkit.exe)wishと実行に必要なライブラリを一つにをまとめた実行形式で、Starkitのページで配布されている。Starpackを作るのに必要。Starkitユーザーが作ったスクリプトなどをstarkit仮想ファイルにまとめたものをこう呼ぶようだ。Starpackユーザーの書いたスクリプトと実行環境抱き合わせたもの(Freewrapみたいな)をこう呼ぶようだ。作るのにはTclkitが必要。SDX仮想ファイルにラップしてStarkitやStarpackを作ったり、アンラップしたりするツール。†SDXはsdx.kitで配布されているので、実行するにはtclの実行環境が必要。tclshよりtclkitを使ったほうがバグが無いかも。変更を可能にする(?)starkitをアンラップする。mystar.kit/libのようにする。mystar.kit~コピーする。使ってない空きスペースを取り除くのでサイズが最適化される。mystar.kitheadファイルにはstarkitのヘッダやexe(starpackの場合?)が含まれていて、tailファイルにはMetakitのデータが含まれている。Tclkitにエンコードを追加したいときは、このコマンドで分割し、tailファイルを作り直すようだ。mystar.exeサーバに接続してstarkitを自動アップデートをする。urlのStarsyncサーバ(http)に接続する。差分を表示するだけでアップデートは実行しない。色々なstarkitがある。複数ファイルの場合、hoge.vfsという仮想ファイルシステムのrootになるディレクトリを作りそこにファイルをまとめて置く。スタートアップのスクリプトはmain.tclにしておく。あとファイルパス名に注意すること。日本語のエンコーディングはデフォで入っていないので追加しないと日本語が文字化けする。ここではWindowsの例を示す。tclkitを用意する。ここではtclkit-win32.upx.exeを使うことにする。tclkit-win32.upx.exeとしてtclkitを解凍する。できたtclkit-win32.upx.vfsディレクトリ中のlib/tcl8.4/encoding/に必要なエンコーディング(例えばcp932,shiftjis,euc-jpなど)をオリジナルのとこから持ってきてコピーする。tclkit-win32.upx.exeとしてバイナリを分離する。tclkit-win32.upx.tailと、tclkit-win32.upx.headができる。この場合tclkitを上書きしてるので、嫌なら先に適当に名前を変えておくこと。