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

# 4.3. カテゴリ分類

## 4.3.1. `CATEGORIES`

パッケージが作成されると `/usr/ports/packages/All` に置かれ、一つ以上の `/usr/ports/packages` のサブディレクトリからリンクが張られます。 これらのサブディレクトリの名称は、`CATEGORIES` 変数で指定されます。これは、ユーザが FTP サイトや CDROM のパッケージの山から探し出すのを容易にするためのものです。 既存のカテゴリを参照して、 あなたの port にふさわしいものを選んでください。

また、このリストは、その port が ports ツリーのどこにインポートされるかも決定します。 ここに複数のカテゴリを指定すると、port のファイルは最初のカテゴリ名のサブディレクトリに置かれることになります。 適切なカテゴリの選択方法についてはカテゴリ節をご覧ください。

あなたが作成した port が、本当に既存のどのカテゴリにも当てはまらない場合には、 新たにカテゴリ名を作成することもできます。 その場合、新しいカテゴリを提案するメールを FreeBSD ports メーリングリスト 宛に送ってください。

## 4.3.2. 現在のカテゴリのリスト

まず、これが現在の port のカテゴリのリストです。 アスタリスク(`*`) が付いているものは仮想 (virtual) カテゴリです -- これらには対応するサブディレクトリが port ツリーにはありません。

> Note: 仮想カテゴリでないものは、 そのサブディレクトリ内の `pkg/COMMENT` に一行の記述があります (例: `archivers/pkg/COMMENT`)。

カテゴリ | 説明
--- | ---
`afterstep*` | AfterStep ウィンドウマネージャをサポートする ports
`archivers` | アーカイブ用ツール
`astro` | 天文学関連の ports
`audio` | サウンドをサポートする ports
`benchmarks` | ベンチマークユーティリティ
`biology` | 生物学関連のソフトウェア
`cad` | CAD ツール
`chinese` | 中国語サポート
`comms` | 通信ソフトウェア。ほとんどはシリアルポート用です。
`converters` | 文字コード変換
`databases` | データベース
`deskutils` | コンピュータが発明される以前に机上で使われていた道具 (訳注: いわゆるデスクトップユーティリティのこと)
`devel` | 開発ユーティリティ。 どうしてもここに置かなければならない理由があるのでない限り、 ライブラリをここに含めないでください。
`editors` | 一般的なエディタ。 特殊なエディタはそれぞれふさわしいセクションに入れます (たとえば数式エディタは `math` です)。
`elisp` | Emacs-lisp の ports
`emulators` | 他のオペレーティングシステムのエミュレータ。 端末エミュレータはここに含まれません -- X ベースのものは `x11` に、 テキストベースのものは機能によって `comms` か `misc` に分類されます。
`french` | フランス語サポート
`ftp` | FTP クライアントとサーバユーティリティ。 port が FTP と HTTP の両方をサポートしていれば、 `ftp` に入れ、第二カテゴリを `www` とします。
`games` | ゲーム
`german` | ドイツ語サポート
`gnome*` | GNU Object Model Environment (GNOME) プロジェクトの ports
`graphics` | グラフィックユーティリティ
`hebrew` | ヘブライ語サポート
`irc` | インターネットリレーチャット (IRC) 用ユーティリティ
`ipv6*` | IPv6 関連のソフトウェア
`japanese` | 日本語サポート
`java` | Java 言語サポート
`kde*` | K Desktop Environment (kde) の ports
`korean` | 韓国語サポート
`lang` | プログラミング言語
`linux*` | Linux アプリケーションとサポートユーティリティ
`mail` | メールソフトウェア
`math` | 数値計算ソフトウェアやその他の数学ソフトウェア
`mbone` | MBone アプリケーション
`misc` | 種々のユーティリティ -- 基本的に他のカテゴリに属さないものです。 これは他の仮想でないカテゴリを伴わない、唯一のカテゴリです。 `misc` と他のカテゴリが `CATEGORIES` 行に書かれている場合、 `misc` を削除して他のサブディレクトリにおいて良いという意味になります。
`net` | 種々のネットワークソフトウェア
`news` | USENET ニュースソフトウェア
`offix*` | OffiX suite の ports
`palm` | 3Com Palm(tm) シリーズをサポートするソフトウェア
`perl5*` | 実行に perl バージョン 5 を必要とする ports
`picobsd` | PicoBSD をサポートするための ports
`plan9*` | Plan9 に由来するさまざまなソフトウェア
`print` | 印刷ソフトウェア。 DTP 用ツール (プレビュアなど) もここに分類されます。
`python*` | python 言語で書かれたソフトウェア
`ruby*` | ruby 言語で書かれたソフトウェア
`russian` | ロシア語サポート
`science` | `astro` や `biology`, `math` 等、他のカテゴリには あてはまらない科学関連の ports
`security` | セキュリティ関連のユーティリティ
`shells` | コマンドラインシェル
`sysutils` | システムユーティリティ
`tcl76*` | 実行に Tcl バージョン 7.6 を必要とする ports
`tcl80*` | 実行に Tcl バージョン 8.0 を必要とする ports
`tcl81*` | 実行に Tcl バージョン 8.1 を必要とする ports
`tcl82*` | 実行に Tcl バージョン 8.2 を必要とする ports
`textproc` | テキスト処理ユーティリティ。 DTP ツールはここではなく、print/ に分類されます。
`tk42*` | 実行に Tk バージョン 4.2 を必要とする ports
`tk80*` | 実行に Tk バージョン 8.0 を必要とする ports
`tk81*` | 実行に Tk バージョン 8.1 を必要とする ports
`tk82*` | 実行に Tk バージョン 8.2 を必要とする ports
`tkstep80*` | 実行に TkSTEP バージョン 8.0 を必要とする ports
`ukrainian` | ウクライナ語サポート
`vietnamese` | ベトナム語サポート
`windowmaker*` | WindowMaker ウィンドウマネージャをサポートする ports
`www` | World Wide Web 関連のソフトウェア。 HTML 言語サポートもここに分類されます。
x11 | X ウィンドウシステムとその関連ソフトウェア。 このカテゴリは、 直接ウィンドウシステムをサポートするソフトウェアのみを対象とするものです。 通常の X アプリケーションをここに分類しないでください。 あなたの port が X アプリケーションで、 `USE_XLIB` が定義 (`USE_IMAKE` を定義すると自動的に定義されます) されている場合は、適切なカテゴリに分類してください。 また、それらのほとんどは他の `x11-*` カテゴリ (下記参照) に分類されます。
`x11-clocks` | X11 用時計
`x11-fm` | X11 用ファイルマネージャ
`x11-fonts` | X11 フォントとフォントユーティリティ
`x11-servers` | X11 サーバ
`x11-toolkits` | X11 ツールキット
`x11-wm` | X11 ウィンドウマネージャ
`zope*` | Zope サポート

## 4.3.3. 適切なカテゴリの選択

多くのカテゴリに重なるので、 どれを``第一''カテゴリにするかを決めなければならないことがたびたびあるでしょう。 これをうまく決めるルールがいくつかあります。 以下はその優先順のリストで、優先度の高いものから低いものの順に書いてあります。

- 言語特有のカテゴリがまず最初です。 たとえば日本語の X11 のフォントをインストールする port の場合、 `CATEGORIES` 行は `japanese x11-fonts` となるでしょう。

- より特徴的なカテゴリが、 一般的なカテゴリより優先されます。 たとえば、HTML エディタの場合は `www editors` となります。 これを逆順にはしないでください。 また、 port が `irc`, `mail`, `mbone`, `news`, `security`, `www` のいずれかに属する場合には `net` は必要ありません。

- `x11` を第二カテゴリにするのは第一カテゴリが自然言語の場合のみにしてください。 特に X のアプリケーションには `x11` を指定しないでください。

- Emacs のモードは、 そのモードで対応しているアプリケーションと同じ ports カテゴリに置くようにして、 `editors` には置かないでください。 例えば、あるプログラミング言語のソースファイルを編集するための Emacs モードは、 `lang` に置くべきです。

- もし、あなたの port が他のどのカテゴリにも属しない場合には `misc` にしてください。

もし、あなたがカテゴリについて自信が持てない場合には、 そのことを `send-pr` する時に書き加えてください。 そうすればインポートする前にそれについて議論できます (もしあなたがコミッターであれば、 そのことを FreeBSD ports メーリングリスト に送って先に議論するようにしてください -- 新しい port が間違ったカテゴリにインポートされて、 すぐ移動されることが多いので)。

Prev | Home | Next
名前の付け方 | Up | 配布ファイル

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