第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 スクリプトを使ってパッキングリストを自動的に生成してください。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。