第 18章パッキングリストの自動生成

まず、あなたの port に pkg-plist がないことを除けば完成していることを確認してください。

次に、あなたの port をインストールする一時ディレクトリを作成して、 依存するものをすべてインストールしてください。 port-type は X アプリケーションではない port については local、 XFree86 4 またはそれより前の XFree86 のディレクトリ階層にインストールする ports については、それぞれ x11-4 または x11 にすべきです。

# mkdir /var/tmp/port-name
# mtree -U -f /etc/mtree/BSD.port-type.dist -d -e -p /var/tmp/port-name
# make depends PREFIX=/var/tmp/port-name

このディレクトリ構造を新しいファイルに保存してください。

# (cd /var/tmp/port-name && find -d * -type d) | sort > OLD-DIRS

空の pkg-plist ファイルを作成してください。

# touch pkg-plist

もしあなたの port が PREFIX にちゃんと従うなら、 ここで port をインストールしてパッキングリストを作ることができます。

# make install PREFIX=/var/tmp
# (cd /var/tmp/port-name && find -d * \! -type d) | sort > pkg-plist

新しく生成されたディレクトリはすべてパッキングリストに追加する必要があります。

# (cd /var/tmp/port-name && find -d * -type d) | sort | comm -13 OLD-DIRS - | sort -r | sed -e 's#^#@dirrm #' >> pkg-plist

最後にパッキングリストを手で整える必要があります; すべてが自動化されているわけではありません。 マニュアルはパッキングリストに記述するのではなく、 port の Makefile 中の MANn に 記述しなければなりません。 ユーザ設定ファイルは削除するか filename.sample としてインストールされなければなりません。 また info/dir ファイルはリストに含めず、 info ファイルに記述されているように、 適切な install-info 行に追加しなければなりません。 port によってインストールされるライブラリは、 共有ライブラリ のセクションで示したように記載されるべきです。

または、/usr/ports/Tools/scripts/ にある plist スクリプトを使ってパッキングリストを自動的に生成してください。

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