第14章 port のテスト

This translation may be out of date. To help with the translations please access the FreeBSD translations instance.

14.1. portlint

送付や commit をする前に portlint を使ってチェックしましょう。

14.2. PREFIX

なるべく port は PREFIX に対する相対パスにインストールすることができるように心がけてください (この変数の値は USE_X_PREFIXUSE_IMAKE が指定してある時には X11BASE (デフォルトは /usr/X11R6)、 そうでない場合にはLOCALBASE (デフォルトは /usr/local) にセットされます)。

サイトによってフリーソフトウェアがインストールされる場所が違いますので、 ソース内で /usr/local/usr/X11R6 を明示的に書かないようにしてください。 X のプログラムで imake を使うものについては、 これは問題にはなりません。 それ以外の場合には port の scripts/Makefile/usr/local (imake を使わない X のプログラムは /usr/X11R6) と書いてあるところを、 ${PREFIX} に書き換えてください。 この値は port のコンパイルおよび、 インストールの全段階において、自動的に下位のプロセスに渡されます。

そのアプリケーションが PREFIX を 使用しないで、何かを直接 /usr/local に インストールしないことを確認してください。 以下のようにすると、簡単なテストを行なうことができます:

# make clean; make package PREFIX=/var/tmp/port-name

この時、もし PREFIX の外に 何かがインストールされていた場合、package 生成プロセスは ファイルが見つからないと文句を言うはずです。

ただし、これは そのソフトウェアが内部で決め打ちの参照を していないかどうか だとか、他の port によってインストールされる ファイルを参照する際に LOCALBASE を 正しく使用しているかどうかをテストしているわけではありません。 その port を他の場所にインストールした状態で、 /var/tmp/port-name に 対するインストールを試みることにより、 そのテストをすることができるでしょう。

USE_X_PREFIX は本当に必要な時 (つまり X のライブラリをリンクしたり、X11BASE 以下にある ファイルを参照したりする必要がある時) 以外には 設定しないでください。

変数 PREFIX の値は port の Makefile やユーザの環境で変更することもできます。 しかし、個々の port が Makefile でこの変数の値を明示的に設定することはなるべくしないでください。

また、他の port によりインストールされるプログラムや ファイルを指定する場合には、直接的なパス名を使用するのではなく 上で述べた変数を使用してください。 たとえば less のフルパスを PAGER というマクロに入れたい場合は、 -DPAGER=\"/usr/local/bin/less\" というフラグをコンパイラに渡すかわりに

-DPAGER=\"${PREFIX}/bin/less\"

(X Window System を使う port の場合には

-DPAGER=\"${LOCALBASE}/bin/less\"

) を渡してください。 こうしておけば、システム管理者が /usr/local を まるごと どこか他の場所に移していたとしても、その port が そのまま使える可能性が高くなります。

14.3. FreshPorts 正当性テスト

http://www.FreshPorts.org/ には、FreeBSD ports へ commit されたものについて、 自動的に正当性テストを行う仕組みがあります。 このサービスに登録すると、あなたが commit したものについて、 正当性テストでエラーが起きると連絡が行きます。

このサービスを利用したい場合、必要なのは FreshPorts のアカウントだけです。登録したメールアドレスが @FreeBSD.org のものであれば、 ウェブページの右側にサービスを選択するリンクがあるはずです。 FreshPorts にアカウントを持っていても @FreeBSD.org のメールアドレスを利用していない場合、メールアドレスを @FreeBSD.org に変え、登録したあとで、 メールアドレスをまた変更してください。


最終更新日: 2024年3月9日 by Danilo G. Baio