FreeBSD port 作成者のためのハンドブック
Prev | Chapter 4. `Makefile` の作成 | Next

# 4.8. `PATCHFILES`

その port が配布ファイルの他に FTP や HTTP で手に入る 追加パッチを必要とする場合には, `PATCHFILES` には そのパッチのファイル名を, `PATCH_SITES` には そのファイルが置かれているディレクトリの URL をセットしてください. (書き方は `MASTER_SITES` と同じです.)

そのパッチに記録されているファイル名に余計なパス名が ついていて, ソースツリーのトップディレクトリ (つまり `WKRSRC`) からの相対パスになっていない場合には, それに応じた `PATCH_DIST_STRIP` を指定してください. たとえば, パッチ内のすべてのファイル名の先頭に, 余計な `foozolix-1.0/` がついている場合には, `PATCH_DIST_STRIP=-p1` としてください.

これらのパッチは圧縮されていても大丈夫です. ファイル名が `.gz` や `.Z` で 終わる場合には, 自動的に展開されるようになっています.

もしパッチが, ドキュメント等その他のファイルと一緒に gzip された tar ファイルで配布されている場合には, 単に `PATCHFILES` を使うだけではうまくいきません. このような場合には, このパッチの tar ファイルの名前と場所を `DISTFILES` と `MASTER_SITES` に 追加しておきます. それから, `EXTRA_PATCHES` 変数に それらのパッチを指定すれば, `bsd.port.mk` が 自動的にパッチを適用してくれます. 特に注意が必要なのは, パッチファイルを `PATCHDIR` ディレクトリにコピーしてはならないことです -- (訳注: port が CD-ROM 上に置かれている等の場合には,) そのディレクトリには書き込みができないかもしれません.

> Note: それが普通の gzip か compress された tar ファイルであれば, 通常のソースファイルと一緒にパッチ適用時までに展開されていますので, 明示的に展開する必要はないことに注意してください. もしパッチを `DISTFILES` に追加した場合には, パッチを含むファイルが展開される際に, そのディレクトリにある 何かを上書きしないように注意してください. さらに, コピーされたパッチファイルを削除するコマンドを `pre-clean` ターゲットに追加することを 忘れないでください.

Prev | Home | Next
`MASTER_SITES` | Up | `MAINTAINER`

FreeBSD ports システムに関する質問は、(英語で) <ports@FreeBSD.org> へ、
この文書の原文に関するお問い合わせは、(英語で) <doc@FreeBSD.org> までお願いします。