CGI State: None
document

INSTALL/1.0
INSTALL/1.1 - deleted -
INSTALL/1.2
INSTALL/1.3
INSTALL/1.4

概要


どのようなファイルでも手動でセットアップすることは可能だが、ユーザに機械的な作業を課す必要性は薄い。配布ファイルセットに適切な設定を施し、特定の手順でアーカイブすることによって、そのファイルは embryo に DnD するだけでインストールすることが可能になる。

フォーマット


ファイルは下記のいずれかの仕様に基づいて適切な設定を施されたあと、最終的に nar という拡張子を持つ1つのファイルにまとめられる。ただし nar の実体は単なる zip ファイルであり、サーバやマスタの持つ事情によっては拡張子 zip のままリリースしてもよい。


  • nar


    install.txt その他 INSTALL/1.x 仕様特有のファイルを含んだ ZIP ファイル。Nanika ARchive の略。発音「なー」

    アーカイブの root となるディレクトリ(install.txt のあるディレクトリ)を embryo に DnD すると作成される。フォーマット自体は ZIP と何ら変わらない。従って普通に ZIP したのち拡張子を NAR に変更しても同じファイルができる。

  • INSTALL/1.0


    +-home
       install.txt
       descript.txt
       ....
    


    INSTALL/1.0 は最も基本的な書庫構造を実現する。

    INSTALL/1.0 で用いる書庫は基本的に単なる zip 書庫だが、書庫のルートディレクトリに install.txt が含まれるという点で異なる。embryo は install.txt の定義を元に適切な設定とファイルコピーを行う。


  • install.txt


    type,ghost
    name,なる
    directory,naru

    refresh,1
    refreshundeletemask,Dict-KEEPSs.txt:mame.exe


    type はそのファイルセットの種別を表す。下記のいずれかの識別子をセットする。

    ghost
    ゴースト
    balloon
    バルーン
    headline
    ヘッドラインセンサ
    plugin
    プラグイン


    name はこのファイルセット全体の名前を表す(必ずしもゴーストの名前とは限らない)。

    directory はこのファイルセットが作成するディレクトリの名称を表す。ファイルシステムによってはマルチバイト文字が同一の文字コードで正しく書き込まれる保証がないためこの部分に日本語等のマルチバイト文字を使うことは推奨されない。

    refresh はこのファイルセットインストールにあたって旧来のディレクトリをリセットするか否かを表す。このエントリに 1 をセットするとこのファイルセットはインストール前にディレクトリ内の全ファイルを削除する。これは例えばファイルセットに大きな変更があり、旧仕様からの引継ぎができない場合等に用いる。

    refreshundeletemask は refresh にあたって削除しないファイル名のリストを表す。このリストはコロンで区切られたファイル名の連続としてフォーマットされる。ワイルドカード等は使用できない。


    書庫に含まれるファイルは type で抽象化されたシステムディレクトリに directory という名前の独自のディレクトリを作った上で展開される。例えば上記の例の場合、実際にファイルが展開されるディレクトリは


    home\ghost\naru\


    となる。

  • INSTALL/1.2


    INSTALL/1.2 はバルーン付きゴーストのインストールを実現する。


    +-home
       +-ghost
          +-master
             +-....
       +-shell
          +-master
             +-....
          +-80%
             +-....
       +-clover note
          +-....
       install.txt
    
  • install.txt


    type,ghost
    name,なる
    directory,naru

    balloon.directory,clover note


    通常のマスターデータの他に、ホームディレクトリにバルーンデータを配置し、そのディレクトリ名を balloon.name エントリで指定することで、そのパッケージは with balloon 仕様となる。

    既存エントリの意味は INSTALL/1.0 と全く同じ。

    このようにしてインストールされたゴーストは、デフォルトバルーンではなく、同時にインストールされたバルーンを選択した状態で起動する。

  • INSTALL/1.3


    +-ghost
       +-master
          +-....
       +-slave0
          +-....
    +-shell
       +-master
          +-....
       +-80%
          +-....
    install.txt
    
    INSTALL/1.3 は既にインストールされたゴーストへの汎用的なファイルの追加を実現する。


  • install.txt


    type,supplement
    name,surface80%
    accept,なる


    accept はこのファイルを受け入れるゴーストの名前を表す。ここで指定されたゴースト以外はこのファイルを受け付けない(拒否される)。

    name は追加されるオブジェクトの名前を表す。これは一時変数 %lastobjectname に格納される。

    script はインストール終了後に再生されるスクリプトを記述する。


    種別 supplement は accept で指定された現在 materialize しているゴーストのディレクトリにファイルを展開する。上記の例の場合、実際にファイルが展開されるディレクトリは


    home\ghost\naru\


    となる。従って supplement 書庫のファイル構成は見かけ上通常のゴーストパッケージと変わらない。この構造により supplement 書庫は既存のゴーストに対しどのようなファイルでも追加できる。


    以下に関連の深い環境変数を示す。これらは script エントリのために用意されている。


    %lastghostname
    %lastobjectname


    %lastghostname には最後にイベントにタッチしたゴースト名が入る。これは成功時ではなく失敗時に使用される(代表的な拒否イベントが「私のものではない、%lastghostname に渡せ」といったものである)。同様に %lastobjectname は最後にイベントにタッチしたオブジェクト名が入る。このケースでは「冬服」がセットされる。

  • INSTALL/1.4


    +-home
       install.txt
       descript.txt
       ....
    
    INSTALL/1.4 は既にインストールされたゴーストへのシェルの追加を実現する。内容的には 1.0 と 1.3 の組み合わせである。


  • install.txt


    type,shell
    name,へたさくら
    accept,さくら
    directory,hetasakura


    accept はこのファイルを受け入れるゴーストの名前を表す。ここで指定されたゴースト以外はこのファイルを受け付けない(拒否される)。

    name は追加されるオブジェクトの名前を表す。これは一時変数 %lastobjectname に格納される。

    script はインストール終了後に再生されるスクリプトを記述する。

    directory はこのシェルが格納されるディレクトリの名称を表す。


    書庫に含まれるファイルは type で抽象化されたシステムディレクトリに directory という名前の独自のディレクトリを作った上で展開される。例えば上記の例の場合、実際にファイルが展開されるディレクトリは


    home\ghost\first\shell\hetasakura\


    となる。

  • 戻る