FreeBSD ハンドブック : アプリケーションのインストール : ports コレクション : 自分で port を作る : pkg サブディレクトリ
Previous: 特別な配慮
Next: ライセンス上の問題

4.7.5. pkg サブディレクトリ

まだ触れていない, いくつかのこつが pkg サブディレクトリ にはあり, 時として便利でしょう.

4.7.5.1. MESSAGE

もし, インストールする人に メッセージを表示する必要がある場合には, そのメッセージを pkg/MESSAGE に置けます. この機能は, pkg_add の後の追加のインストール手続きを表示するときなどに, 重宝 します. MESSAGE ファイルは pkg/PLIST に加える必要はありま せん. また, もしユーザが package ではなく port を使用して いる場合には自動的には表示されませんので, 明示的に post-install で表示するようにするべきでしょう.

4.7.5.2. 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 で明示的に呼ぶ必要があります.

REQ

port が(インストールされるシステムの状態によって) インストールされるべきか, されないべきか区別する必要があると きには, 「要件(requirements)」スクリプト pkg/REQ を作ること ができます. これは, インストール及びデインストール (package の削除)の時に自動的に実行され, それらが処理されるべ きかを決定します.

4.7.5.3. makeの変数にあわせた 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-installpost-install ターゲット のあいだに, ${PLIST} を読み ${TMPPLIST} (デフォルトは, ${WRKDIR}/.PLIST.mktmp) に書き込むことによって 行なわれます. もし, あなたの port が ${PLIST} を実行時に生成するのであれば, do-install のあいだか, その前に行うようにしてください. また, 書きかえられたあとの ファイルを編集する必要がある場合には, post-install で, ${TMPPLIST} を書きかえてください.


FreeBSD ハンドブック : アプリケーションのインストール : ports コレクション : 自分で port を作る : pkg サブディレクトリ
Previous: 特別な配慮
Next: ライセンス上の問題