非公式インストーラ仕様書

はじめに

この仕様書は,伺か公式ページ内の旧仕様書,履歴などを元につくられた非公式仕様書であることに注意してください。

概要

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

稼働中のゴーストへ URI の DnD を行うと自動的にダウンロードした後インストールすることのできるプラットフォームもあります。

フォーマット

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

install.txt

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

install.txt 自体は設定のために使用されるだけでインストールされません。

nar

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

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

INSTALL/1.4

この非公式仕様書では,本体が INSTALL/1.4 まで対応している場合に可能となることを例を挙げて書く。

install.txt で使用されるエントリは以下の通り

エントリ名とエントリ値を , (カンマ) で区切り,1 行 1 エントリで任意の順番で記述する。

charsetinstall.txt で使用される文字符号化スキーム
typeファイルセットの種別
nameファイルセット全体の名前を表す (必ずしもゴースト等の名前とは限らない)
directoryファイルセットが作成するディレクトリ名
acceptファイルを受け入れるゴーストの sakura 側の名前 (descript.txt の sakura.name)
balloon.directoryバルーンディレクトリ名
refresh旧来のディレクトリをリセットするか否か (0=否, 1=する) 省略時は 0
refreshundeletemaskrefresh にあたって削除しないファイル名のリスト (複数記述する場合は : でセパレート)
scriptゴーストが無反応時に表示するスクリプト (公式には削除されたエントリ)

type, name, directory は必須エントリです。type が shell 及び supplement の場合は accept も必須となります。

charset は SSP で提案されたエントリです。エントリは任意の順番で記述できるが,このエントリのみ最初の行へ記述することが推奨されている。(参考: 「非公式」伺かシェル仕様書)

ゴースト

構成

root
  +-install.txt
  +-ghost
     +-master
       +-descript.txt
       +-shiori.dll
       ....
       ..
  +-shell
     +-master
       +-descript.txt
       +-surfaces.txt
       +-surface0.png
       ....
       ..

上記のように shell を含み起動可能状態となったゴースト (ghost + shell) のアーカイブをマスターアーカイブと言います。(この呼び方は普及しませんでしたが)

install.txt

install.txt には以下のように記述する。

charset,Shift_JIS
type,ghost
name,なるアーカイブ
directory,naru

refresh,1
refreshundeletemask,ghost¥master¥userdic.txt:ghost¥master¥narusystem.txt
type

ゴーストをインストールする場合は ghost を指定する。

name

ファイルセットの名前を指定する。ゴーストの名前である必要はない。

directory

ファイルセットのインストール先を指定する。ghost フォルダの下にこの名前のフォルダが作成され,ファイルセットはこのフォルダの中へ展開される。

refresh

上書きインストールを行う際,それまでのゴーストを構成するファイルを削除します。ゴーストのファイル構成が大幅に変わった場合などに使用します。

refreshundeletemask

refresh を行う際,例外的に残すファイルを指定します。

上記の例では既に naru ディレクトリにファイルが存在していた場合,リフレッシュ動作により ghost¥master¥userdic.txt と ghost¥master¥narusystem.txt を除くファイルが削除された後にインストールされます。

ユーザとの関わりで生成した辞書や,稼動時間などゴーストが使用する変数を残すためなどに使用します。

インストール後の構成

上記の例では次のようにファイルがインストールされます。

home
  +-ghost
     +-naru
        +-ghost
           +-master
             +-descript.txt
             +-shiori.dll
             ....
             ..
        +-shell
           +-master
             +-descript.txt
             +-surfaces.txt
             +-surface0.png
             ....
             ..

ゴースト with balloon

ゴーストと共に balloon をインストールすることもできる。

balloon.directory

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

構成

root
  +-install.txt
  +-ghost
     +-master
       +-descript.txt
       ....
  +-shell
     +-master
       +-descript.txt
       ....
  +-clover note
     +-descript.txt
     ....

install.txt

install.txt には以下のように記述する。

charset,Shift_JIS
type,ghost
name,なるwithクローバー
directory,naru

balloon.directory,clover note

インストール後の構成

上記の例では次のようにファイルがインストールされます。

home
  +-ghost
     +-naru
        +-ghost
           +-master
             +-descript.txt
             ....
        +-shell
           +-master
             +-descript.txt
             ....
  +-balloon
     +-clover note
        +-descript.txt
        ....

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

シェル

既にインストールされたゴーストへシェルの追加を行う。

構成

root
  +-install.txt
  +-descript.txt
  +-surface0.png
  ....

install.txt

install.txt には以下のように記述する。

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

シェルをインストールする場合は shell を指定する。

name

ファイルセットの名前を指定する。シェルの名前である必要はない。

directory

ファイルセットのインストール先を指定する。shell フォルダの下にこの名前のフォルダが作成され,ファイルセットはこのフォルダの中へ展開される。

accept

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

上記の例では,稼働中のゴーストが さくら の時に DnD した場合にのみインストールされる。

accept が sakura.name なのは歴史的経緯によるものであり,id エントリに切り替えるべきだとは思いますが,現状 id で実装しているプラットフォームはありません。

インストール後の構成

上記の例では,ゴーストのフォルダが first とすれば次のようにファイルがインストールされます。

home
  +-ghost
     +-first
        +-ghost
           +-master
              ....
        +-shell
           +-master
              ....
           +-hetasakura
              +-descript.txt
              +-surface0.png
              ....

シェルのインストールが終了すると,自動的にそのシェルへと変更される。

サプリメント

既にインストールされたゴーストへ汎用的なファイルの追加を行う。

構成

root
  +-install.txt
  +-ghost
     +-master
       +-descript.txt
       +-makoto.dll
       ....
  +-shell
     +-advanced
       +-descript.txt
       +-surfaces.txt
       +-surface0.png
       ....
       ..

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

install.txt

install.txt には以下のように記述する。

charset,Shift_JIS
type,supplement
name,パワーアップせりこ
accept,せりこ
type

サプリメントをインストールする場合は supplement を指定する。

name

ファイルセットの名前を指定する。

accept

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

上記の例では,稼働中のゴーストが せりこ の時に DnD した場合にのみインストールされる。

accept が sakura.name なのは歴史的経緯によるものであり,id エントリに切り替えるべきだとは思いますが,現状 id で実装しているプラットフォームはありません。

インストール後の構成

上記の例では,ゴーストのフォルダが first とすれば次のようにファイルがインストールされます。

home
  +-ghost
     +-seriko
        +-ghost
           +-master
             +-descript.txt
             +-shiori.dll
             +-makoto.dll
             ....
        +-shell
           +-master
             +-descript.txt
             ....
           +-advanced
             +-descript.txt
             +-surfaces.txt
             +-surface0.png
             ....

dll の上書きインストールが可能なのかは検証していないので不明

インストール後にリロードされるのかは検証していないので不明

バルーン/ヘッドラインセンサ/プラグイン

以下にバルーンの場合を記す。

構成

root
  +-install.txt
  +-descript.txt
  +-balloons0.png
  +-kanon.cur
  ....
  ..

install.txt

install.txt には以下のように記述する。

charset,Shift_JIS
type,balloon
name,かのん
directory,kanon
type

バルーンをインストールする場合は balloon,ヘッドラインセンサの場合は headline,プラグインの場合は plugin を指定する。

name

ファイルセットの名前を指定する。

directory

ファイルセットのインストール先を指定する。

インストール後の構成

上記の例では次のようにファイルがインストールされます。

home
  +-balloon
     +-kanon
        +-descript.txt
        +-balloons0.png
        +-kanon.cur
        ....
        ..

INSTALL/1.5 (SSP拡張)

INSTALL/1.5 は SSP BUGTRAQ で提案されました。

ゴースト with plugin/headline

バルーンと同様,ゴーストと共にプラグイン,ヘッドラインセンサをインストールする。

構成

root
  +-install.txt
  +-ghost
     +-master
       +-descript.txt
       ....
  +-shell
     +-master
       +-descript.txt
       ....
  +-globalprop
     +-descript.txt
     ....
  +-sspbugtraq
     +-descript.txt
     ....

install.txt

install.txt には以下のように記述する。

charset,Shift_JIS
type,ghost
name,翔子
directory,syoko

plugin.directory,globalprop
headline.directory,sspbugtraq
plugin.directory

通常のデータの他に,ホームディレクトリにプラグインデータを配置し,そのディレクトリ名を plugin.directory エントリで指定することで,そのパッケージは with plugin 仕様となる。

headline.directory

通常のデータの他に,ホームディレクトリにヘッドラインセンサデータを配置し,そのディレクトリ名を headline.directory エントリで指定することで,そのパッケージは with headline 仕様となる。

インストール後の構成

上記の例では次のようにファイルがインストールされます。

home
  +-ghost
     +-syoko
        +-ghost
           +-master
             +-descript.txt
             ....
        +-shell
           +-master
             +-descript.txt
             ....
  +-plugin
     +-globalprop
        +-descript.txt
        ....
  +-headline
     +-sspbugtraq
        +-descript.txt
        ....

with balloon/plugin/headline の refresh

install.txt

balloon.refresh,true
balloon.refreshundeletemask,arrow0.png:arrow1.png

plugin.refresh,true
plugin.refreshundeletemask,log.txt
*.refresh
  • balloon.refresh
  • plugin.refresh
  • headline.refresh

それぞれ with 仕様でインストールされるファイルセットの refresh 制御を行う。

SSP では *.refresh エントリに対し,0, 1 ではなく false, true で記述することができます。

*.refreshundeletemask
  • balloon.refreshundeletemask
  • plugin.refreshundeletemask
  • headline.refreshundeletemask

それぞれ with 仕様でインストールされるファイルセットの refresh を行う際,例外的に残すファイルを指定。

with balloon/plugin/headline のアーカイブ内ディレクトリ指定

構成

root
  +-install.txt
  +-ghost
     ....
  +-shell
     ....
  +-bln
     +-descript.txt
     ....
  +-plg
     +-descript.txt
     ....

install.txt

install.txt には以下のように記述する。

charset,Shift_JIS
type,ghost
name,ともよ
directory,tomoyo

balloon.source.directory,bln
balloon.directory,sharp

plugin.source.directory,plg
plugin.directory,sharp
*.source.directory
  • balloon.source.directory
  • plugin.source.directory
  • headline.source.directory

それぞれ with 仕様でインストールするファイルセットの nar 内でのフォルダ名を指定する。

インストール先のフォルダ名が同一の場合などに利用できます。

インストール後の構成

上記の例では次のようにファイルがインストールされます。

home
  +-ghost
     +-tomoyo
        +-ghost
           ....
        +-shell
           ....
  +-balloon
     +-sharp
        +-descript.txt
        ....
  +-plugin
     +-sharp
        +-descript.txt
        ....