アプリケーションパッケージ開発者ガイド

prototype ファイル

たとえばこのケーススタディーでは、パッケージオブジェクトについて、次の図に示す階層型レイアウトを使用しています。

図 5–1 パッケージの階層型ディレクトリ構造

この図については次に説明します。

パッケージオブジェクトは、上に示した pkg ディレクトリ内での場所と同じ場所にインストールされます。ドライバモジュール (sst および sst.conf) は /usr/kernel/drv にインストールされ、インクルードファイルは /usr/include/sys/scsi/targets にインストールされます。sstsst.conf、および sst_def.h ファイルは絶対オブジェクトです。テストプログラム sstest.c とそのディレクトリ SUNWsst は再配置可能オブジェクトです。それらのインストール場所は BASEDIR パラメータによって設定されます。

パッケージの残りのコンポーネント (すべての制御ファイル) は、開発マシン上でのパッケージの最上位ディレクトリにインストールされますが、sed クラススクリプトだけは例外です。このクラススクリプトは、それが変更するファイルにならって devlink.tab と呼ばれ、etc にインストールされます。このディレクトリには、実際の devlink.tab ファイルが格納されています。

pkg ディレクトリから pkgproto コマンドを次のように実行します。


find usr SUNWsst -print | pkgproto > prototype

このコマンドによる出力は、たとえば次のようになります。

d none usr 0775 pms mts
d none usr/include 0775 pms mts
d none usr/include/sys 0775 pms mts
d none usr/include/sys/scsi 0775 pms mts
d none usr/include/sys/scsi/targets 0775 pms mts
f none usr/include/sys/scsi/targets/sst_def.h 0444 pms mts
d none usr/kernel 0775 pms mts
d none usr/kernel/drv 0775 pms mts
f none usr/kernel/drv/sst 0664 pms mts
f none usr/kernel/drv/sst.conf 0444 pms mts
d none SUNWsst 0775 pms mts
f none SUNWsst/sstest.c 0664 pms mts

この prototype ファイルはまだ完成していません。このファイルを完成するには、次の修正を加える必要があります。

最終的な prototype ファイルを次に示します。

i pkginfo
i postinstall
i preremove
i copyright
e sed /etc/devlink.tab ? ? ?
f none /usr/include/sys/scsi/targets/sst_def.h 0644 bin bin
f none /usr/kernel/drv/sst 0755 root sys
f none /usr/kernel/drv/sst.conf 0644 root sys
d none SUNWsst 0775 root sys
f none SUNWsst/sstest.c 0664 root sys

sed スクリプトのエントリにあるクエスチョンマークは、インストール先マシンの既存ファイルのアクセス権と所有者を変更してはならないことを示します。