FreeBSD port 作成者のためのハンドブック

FreeBSD ドキュメンテーションプロジェクト

このハンドブックは FreeBSD の port 作成者 (porter) 向けに、 具体的な port の作成方法や注意点などをまとめたものです。

日本語版の作成は FreeBSD 日本語ドキュメンテーション プロジェクト (FreeBSD doc-jp) が行なっています。 日本語訳および、日本語版のみに関することは FreeBSD 日本語ドキュメンテーションプロジェクト に おいて日本語で議論されています。

文書の日本語訳に関するお問い合わせや、 文書の原文に関する問い合わせをしたいが英語が得意でないという方は、 FreeBSD 日本語ドキュメンテーションプロジェクト まで日本語でコメントをお寄せください。


Table of Contents
1 自分で port を作成するには
2 3 分間 porting
2.1 Makefile の作成
2.2 package 記述ファイルの作成
2.2.1 pkg-descr
2.2.2 pkg-plist
2.3 チェックサムファイルの作成
2.4 port のテスト
2.5 portlint によるチェック
2.6 port の提出
3 本格的な port
3.1 port 構築の詳細
3.2 オリジナルのソースの入手
3.3 port の修正
3.4 パッチの適用
3.5 コンフィグレーション
3.6 ユーザからの入力の扱い
4 Makefile の作成
4.1 オリジナルのソース
4.2 名前の付け方
4.2.1 PORTNAME および PORTVERSION
4.2.2 PORTREVISION および PORTEPOCH
4.2.3 PKGNAMEPREFIX および PKGNAMESUFFIX
4.2.4 package 名についての規則
4.3 カテゴリ分類
4.3.1 CATEGORIES
4.3.2 現在のカテゴリのリスト
4.3.3 適切なカテゴリの選択
4.4 配布ファイル
4.4.1 DISTNAME
4.4.2 MASTER_SITES
4.4.3 EXTRACT_SUFX
4.4.4 DISTFILES
4.4.5 EXTRACT_ONLY
4.4.6 PATCHFILES
4.4.7 異なるサイトやサブディレクトリからの複数の配布ファイルまたはパッチ (MASTER_SITES:n)
4.4.8 DIST_SUBDIR
4.5 MAINTAINER
4.6 COMMENT
4.7 依存関係
4.7.1 LIB_DEPENDS
4.7.2 RUN_DEPENDS
4.7.3 BUILD_DEPENDS
4.7.4 FETCH_DEPENDS
4.7.5 DEPENDS
4.7.6 USE_*
4.7.7 依存関係に関する注意
4.7.8 オプション選択可能な依存ライブラリ
4.8 作業ディレクトリの指定
4.8.1 WRKSRC
4.8.2 NO_WRKSUBDIR
4.9 ビルドのメカニズム
5 特別な配慮
5.1 共有ライブラリ
5.2 配布制限がある ports
5.2.1 NO_PACKAGE
5.2.2 NO_CDROM
5.2.3 RESTRICTED
5.2.4 RESTRICTED_FILES
5.3 Perl の利用
5.4 X11 の利用
5.5 automake, autoconf および libtool の利用
5.6 GNOME の利用
5.7 KDE の利用
5.8 Bison の利用
5.9 Java の利用
5.10 Python の利用
5.11 Emacs の利用
5.12 Ruby の利用
6 MASTERDIR
7 共有ライブラリのバージョン
8 マニュアルページ
9 Motif を必要とする port
9.1 USE_MOTIF
9.2 MOTIFLIB
10 X11 のフォント
11 Info ファイル
12 pkg-* ファイル
12.1 pkg-message
12.2 pkg-install
12.3 pkg-req
12.4 make の変数にあわせた pkg-plist の変更
12.5 pkg-* ファイルの名前変更
13 port のテスト
13.1 portlint
13.2 PREFIX
13.3 FreshPorts 正当性テスト
14 アップグレード
15 やっていいことといけないこと
15.1 バイナリの strip
15.2 INSTALL_* マクロ
15.3 WRKDIR
15.4 WRKDIRPREFIX
15.5 OS の種類やバージョンの識別
15.6 __FreeBSD_version の値
15.7 bsd.port.mk の後に書くこと
15.8 付加的な文書のインストール
15.9 ディレクトリ構成
15.10 空のディレクトリの削除
15.11 UID
15.12 合理的な port
15.13 CC および CXX の尊重
15.14 CFLAGS の尊重
15.15 コンフィグレーション (設定) ファイル
15.16 フィードバック
15.17 README.html
15.18 Port に BROKEN, FORBIDDEN などの印をつける
15.19 その他諸々
15.20 困ったら…
16 Makefile のサンプル
17 パッキングリストの自動生成
18 この文書と ports システムの変更
List of Tables
4-1. USE_* 変数
5-1. Perl を使用する ports 用の変数
5-2. X を利用する ports 用の変数
5-3. automake, autoconf または libtool を使用する ports 用の変数
5-4. KDE を利用する ports 用の変数
List of Examples
4-1. 各サイトに 1 つファイルがある場合の、簡単な MASTER_SITES:n の使用法
4-2. 各サイトに 1 つ以上ファイルがある場合の、簡単な MASTER_SITES:n の使用法
4-3. MASTER_SITE_SUBDIR における MASTER_SITES:n の詳細な使用法
4-4. カンマ演算子、複数のファイル、複数のサイト、 複数のサブディレクトリと合わせた MASTER_SITES:n の詳細な使用法
4-5. MASTER_SITE_SOURCEFORGE と合わせた MASTER_SITES:n の詳しい使用法
4-6. PATCH_SITES と合わせた MASTER_SITES:n の簡単な使用法
FreeBSD ports システムに関する質問は、(英語で) <ports@FreeBSD.org> へ、
この文書の原文に関するお問い合わせは、(英語で) <doc@FreeBSD.org> までお願いします。