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

相対パラメータ型パスの使用

ソフトウェア製品が旧バージョンの SunOS オペレーティングシステムにインストールされる可能性がある場合、request スクリプトで必要な作業をすべて実行する必要があります。このアプローチを使用すると、複数のディレクトリを操作することもできます。追加のディレクトリが必要な場合、簡単に管理できる製品を提供するには、単一のベースディレクトリの下にディレクトリを含める必要があります。BASEDIR パラメータでは最新の Solaris リリースで使用できる粒度のレベルは提供されませんが、request スクリプトを使用してパラメータ型パスを操作することで、パッケージからベースディレクトリを調査できます。pkginfo ファイルおよび pkgmap ファイルは次のようになります。

pkginfo ファイル

# pkginfo file
PKG=SUNWstuf
NAME=software stuff 
ARCH=sparc
VERSION=1.0.0,REV=1.0.5
CATEGORY=application
DESC=a set of utilities that do stuff
BASEDIR=/opt
SUBBASE=SUNWstuf
VENDOR=Sun Microsystems, Inc.
HOTLINE=Please contact your local service provider
EMAIL=
MAXINST=1000
CLASSES=none daemon
PSTAMP=hubert990707141632

pkgmap ファイル

: 1 1758
1 d none $SUBBASE/EZstuf 0775 root bin
1 f none $SUBBASE/EZstuf/dirdel 0555 bin bin 40 773 751310229
1 f none $SUBBASE/EZstuf/usrdel 0555 bin bin 40 773 751310229
1 f none $SUBBASE/EZstuf/filedel 0555 bin bin 40 773 751310229
1 d none $SUBBASE/HRDstuf 0775 root bin
1 f none $SUBBASE/HRDstuf/mksmart 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mktall 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mkcute 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mkeasy 0555 bin bin 40 773 751310229
1 d none /etc	? ? ?
1 d none /etc/rc2.d ? ? ?
1 f daemon /etc/rc2.d/S70dostuf 0744 root sys 450 223443
1 i pkginfo 348 28411 760740163
1 i postinstall 323 26475 751309908
1 i postremove 402 33179 751309945
1 i preinstall 321 26254 751310019
1 i preremove 320 26114 751309865
1 i i.daemon 509 39560 752978103
1 i r.daemon 320 24573 742152591

この例は完璧ではありません。pkginfo -r コマンドではインストールベースに /opt が返されますが、これは非常にあいまいです。多くのパッケージが /opt にありますが、少なくともこれは意味のあるディレクトリです。前の例と同様、次の例でも複数のアーキテクチャーおよびバージョンをサポートしています。request スクリプトは、特定のパッケージの要件に合わせて、適切な依存関係を解決することができます。