pkg サブディレクトリpkg サブディレクトリまだ触れていない, いくつかのこつが pkg サブディレクトリ
にはあり, 時として便利でしょう.
MESSAGE
もし, インストールする人に
メッセージを表示する必要がある場合には, そのメッセージを
pkg/MESSAGE に置けます. この機能は, pkg_add
の後の追加のインストール手続きを表示するときなどに, 重宝
します. MESSAGE ファイルは pkg/PLIST に加える必要はありま
せん. また, もしユーザが package ではなく port を使用して
いる場合には自動的には表示されませんので, 明示的に
post-install で表示するようにするべきでしょう.
INSTALLバイナリパッケージが pkg_add でインストールされるとき
に, 実行される必要があるコマンドがあれば, pkg/INSTALL スクリプト
を使って実行することができます. このスクリプトは自動的に
package に加えられ, pkg_add によって2度実行されます. はじめは
`INSTALL ${PKGNAME} PRE-INSTALL' と実行され,
2度目には, '`INSTALL ${PKGNAME} POST-INSTALL'
と実行されます. どちらのモードで実行されているかは,
`$2' を調べることによってわかります.
環境変数 `PKG_PREFIX' には package がインストールさ
れるディレクトリが設定されます. 詳細は man
pkg_add(1) を見てください.
注意すべきことは, port を `make install' で
インストールするときには, このスクリプトは自動的に実行されな
いということです. もし, 実行される必要があるならば, port の
Makefile で明示的に呼ぶ必要があります.
REQport が(インストールされるシステムの状態によって) インストールされるべきか, されないべきか区別する必要があると きには, 「要件(requirements)」スクリプト pkg/REQ を作ること ができます. これは, インストール及びデインストール (package の削除)の時に自動的に実行され, それらが処理されるべ きかを決定します.
PLIST の変更いくつかの port, 特に p5- portsなど, は configure のオプション
(あるいは, p5- ports の場合は perl のバージョン)によって,
PLIST を変える必要があります. これを容易に実現するために,
PLIST 中の %%OSREL%%, %%PERL_VER%%,
%%PERL_VERSION%% は, 適切に置き換えられるようになって
います. %%OSREL%% の値は, オペレーティングシステムの
数字で表されたリビジョンです (例えば, `2.2.7').
%%PERL_VERSION%% は perl のバージョン番号全体(例えば,
`5.00502')で, %%PERL_VER%% はバージョン番号から,
パッチレベルを引いてものです(例えば, `5.005').
他の置き換えが必要であれば, PLIST_SUB 変数に
VAR=VALUE という形式のペアのリストを設定することに
よって, PLIST 中の `%%VAR%%' は `VALUE'
に置き換えられます. 例えば, バージョンに固有の沢山のファイル
をインストールする場合には, Makefile に
OCTAVE_VERSION= 2.0.13
PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
と書いて, PLIST 中のバージョン番号が表われるすべての
ところに, %%OCTAVE_VERSION%% と書きます.
このようにしておけば, port をアップグレードするときに,
何十行(ときとして, 何百行)も PLIST を書き替えないで
すみます.
この書き換えは (
マニュアル
の追加も) do-install と post-install ターゲット
のあいだに, ${PLIST} を読み
${TMPPLIST} (デフォルトは,
${WRKDIR}/.PLIST.mktmp) に書き込むことによって
行なわれます. もし, あなたの port が ${PLIST}
を実行時に生成するのであれば, do-install のあいだか,
その前に行うようにしてください. また, 書きかえられたあとの
ファイルを編集する必要がある場合には, post-install
で, ${TMPPLIST} を書きかえてください.
pkg サブディレクトリ