request スクリプトは、パッケージをインストールしている管理者とパッケージが直接対話できる唯一の手段です。たとえば、このスクリプトを使用すると、パッケージのオプション部分をインストールするべきかどうかを、管理者に尋ねることができます。
request スクリプトの出力は、環境変数とその値のリストでなければなりません。このリストは、pkginfo ファイルで作成したいずれかのパラメータおよび CLASSES と BASEDIR パラメータを含むことができます。また、リストでは、どこでも定義されていない環境変数を使用することもできます。ただし、実際に使用するには、pkginfo ファイルでデフォルト値を提供するようにしてください。パッケージ環境変数の詳細については、「パッケージ環境変数」を参照してください。
request スクリプトで環境変数に値を割り当てるときは、pkgadd コマンドやほかのパッケージスクリプトでこの値を使用できるようにする必要があります。
request スクリプトでは、どのファイルも変更できません。このスクリプトは、パッケージをインストールしている管理者と対話し、その対話に基づいて環境変数割り当てのリストを作成するだけです。request スクリプトは、特権を持たないユーザー install が存在する場合は、そのユーザーとして実行されます。それ以外の場合は、スクリプトは root として実行されます。
pkgadd コマンドは、スクリプトの応答ファイルを示す 1 つの引数を指定して、request スクリプトを呼び出します。応答ファイルには、管理者の応答が格納されます。
request スクリプトは、パッケージ削除時には実行されません。ただし、このスクリプトによって割り当てられた環境変数は保存され、パッケージ削除時に使用できます。
パッケージごとに存在できる request スクリプトは 1 つだけです。スクリプトの名前は、request でなければなりません。
環境変数の割り当ては、pkgadd コマンドやほかのパッケージスクリプトが使用できるように、応答ファイル (スクリプトには $1 として認識される) に書き込むことで、インストール環境に追加するようにしてください。
CLASSES および BASEDIR パラメータを除くシステム環境変数と標準インストール環境変数は、request スクリプトでは変更できません。独自に作成されたほかの環境変数はすべて変更できます。
request スクリプトで BASEDIR パラメータを変更できるリリースは、Solaris 2.5 およびその互換リリース以降のみです。
request スクリプトで操作する可能性のあるすべての環境変数に、pkginfo ファイルのデフォルト値を割り当てるようにしてください。
出力リストは、PARAM=value の形式としてください。次に例を示します。
CLASSES=none class1 |
request スクリプトに対しては、管理者の端末が標準入力として定義されます。
request スクリプトでは、ターゲットシステムについての特別な分析は一切実行しないでください。特定のバイナリまたは動作がシステムに存在するかどうかをテストすること、およびその分析に基づいて環境変数を設定することは危険です。インストール時に request スクリプトが実際に実行される保証はありません。パッケージをインストールする管理者が、request スクリプトを呼び出さないで、環境変数を挿入する応答ファイルを提供する可能性があります。request スクリプトでもターゲットファイルシステムを評価している場合、その評価は行われないことがあります。特別な処理についてのターゲットシステムの分析は、checkinstall スクリプトに任せるのが最善です。
パッケージをインストールする管理者が JumpStartTM 製品を使用する可能性がある場合は、パッケージのインストールを対話形式にしてはいけません。パッケージで request スクリプトを提供しないようにするか、インストールの前に pkgask コマンドを使用するべきであることを管理者に伝える必要があります。pkgask コマンドは、応答を request スクリプトに格納します。pkgask コマンドの詳細については、pkgask(1M) のマニュアルページを参照してください。