5.3. カテゴリ分類

5.3.1. CATEGORIES

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

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

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

注記:

時々、カテゴリを 2 階層構造や、 何か他のキーワードを利用した構造に再構成することを提案する人がいます。 今日まで、その提案はどれも実現しませんでした。 なぜなら、その構成を実現することは簡単なのですが、既存の Ports Collection 全体を構成しなおしたものに合わせて改修する労力は、 控え目にいっても気が遠くなるものだからです。 こういうアイディアを送る前に、 それらの提案の歴史をメーリングリストのアーカイブで調べてください。 さらに、動作するプロトタイプを示せと言われるのに対する準備をしておきましょう。

5.3.2. 現在のカテゴリのリスト

ここに現在の port のカテゴリの一覧を示します。 アスタリスク(*) が付いているものは仮想 (virtual) カテゴリです ― これらには対応するサブディレクトリが port ツリーにはありません。 これらは第 2 の補助的なカテゴリとして、 検索目的にしか使われません。

注記:

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

カテゴリ説明Notes
accessibility障害を持ったユーザの役に立つ ports
afterstep*AfterStep ウィンドウマネージャをサポートする ports
arabicアラビア語サポート
archiversアーカイブ用ツール
astro天文学関連の ports
audioサウンドをサポートする ports
benchmarksベンチマークユーティリティ
biology生物学関連のソフトウェア
cadCAD ツール
chinese中国語サポート
comms通信ソフトウェアほとんどはシリアルポート用のソフトウェア
converters文字コード変換
databasesデータベース
deskutilsコンピュータが発明される以前に机上で使われていた道具(訳注: いわゆるデスクトップユーティリティのこと)
devel開発ユーティリティ単にライブラリだからというだけで、 どうしてもここに置かなければならない理由があるのでない限り、 ライブラリをここに含めないでください。
dnsDNS 関連ソフトウェア
editors一般的なエディタ特殊なエディタはそれぞれふさわしいセクションに入れます (たとえば数式エディタは math です)。
elispEmacs-lisp の ports
emulators他のオペレーティングシステム用のエミュレータ端末エミュレータはここに含まれません ― X ベースのものは x11 に、 テキストベースのものは機能によって commsmisc に分類されます。
finance金融や財務会計関連のアプリケーション。
frenchフランス語サポート
ftpFTP クライアントとサーバユーティリティport が FTP と HTTP の両方に対応していれば、 ftp に入れ、第 2 カテゴリを www とします。
gamesゲーム
germanドイツ語サポート
gnome*GNOME プロジェクトの ports
graphicsグラフィックユーティリティ
haskell*Haskell 言語関連のソフトウェア。
hebrewヘブライ語サポート
hungarianハンガリー語サポート
ipv6*IPv6 関連のソフトウェア
ircインターネットリレーチャット (IRC) 用ユーティリティ
japanese日本語サポート
javaJava 言語関連のソフトウェア
kde*K Desktop Environment (kde) プロジェクトの ports
korean韓国語サポート
langプログラミング言語
linux*Linux アプリケーションとサポートユーティリティ
lisp*Lisp 言語関連のソフトウェア
mailメールソフトウェア
math数値計算ソフトウェアやその他の数学ソフトウェア
mboneMBone アプリケーション
misc種々のユーティリティ基本的に他のカテゴリに属さないものです。 これは他の仮想でないカテゴリを伴わない、唯一のカテゴリです。 misc と他のカテゴリが CATEGORIES 行に書かれている場合、 misc を削除して他のサブディレクトリにおいて良いという意味になります。 このカテゴリに置かれた ports は見落とされやすいので、 可能な限り misc よりふさわしいカテゴリを探してください。
multimediaマルチメディアソフトウェア
net種々のネットワークソフトウェア
net-mgmtネットワーク管理ソフトウェア
newsUSENET ニュースソフトウェア
offix*OffiX suite の ports
palmPalm™ シリーズをサポートするソフトウェア
parallel*並列計算を行うアプリケーション
pear*Pear PHP フレームワーク関連の ports
perl5*実行に Perl バージョン 5 を必要とする ports
picobsdPicoBSD をサポートするための ports
plan9*Plan9 に由来するさまざまなソフトウェア
polishポーランド語サポート
portugueseポルトガル語サポート
print印刷ソフトウェアDTP 用ツール (プレビューアなど) もここに分類されます。
python*Python 言語関連のソフトウェア
ruby*Ruby 言語関連のソフトウェア
russianロシア語サポート
scienceastrobiology, 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
tcl83*実行に Tcl バージョン 8.3 を必要とする ports
textprocテキスト処理ユーティリティDTP ツールはここではなく、print に分類されます。
tk42*実行に Tk バージョン 4.2 を必要とする ports
tk80*実行に Tk バージョン 8.0 を必要とする ports
tk81*実行に Tk バージョン 8.1 を必要とする ports
tk82*実行に Tk バージョン 8.2 を必要とする ports
tk83*実行に Tk バージョン 8.3 を必要とする ports
tkstep80*実行に TkSTEP バージョン 8.0 を必要とする ports
ukrainianウクライナ語サポート
vietnameseベトナム語サポート
windowmaker*WindowMaker ウィンドウマネージャをサポートする ports
wwwWorld Wide Web 関連のソフトウェアHTML 言語サポートもここに分類されます。
x11X ウィンドウシステムとその関連ソフトウェアこのカテゴリは、 直接ウィンドウシステムをサポートするソフトウェアのみを対象とするものです。 通常の X アプリケーションをここに分類しないでください。 ほとんどは他の x11-* カテゴリ (下記参照) に分類されるべきです。 あなたの port が X アプリケーションで、 USE_XLIB を定義し (USE_IMAKE を定義すると自動的に定義されます)、 適切なカテゴリに分類してください。
x11-clocksX11 用時計
x11-fmX11 用ファイルマネージャ
x11-fontsX11 フォントとフォントユーティリティ
x11-serversX11 サーバ
x11-toolkitsX11 ツールキット
x11-wmX11 ウィンドウマネージャ
zope*Zope サポート

5.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(1) する時に書き加えてください。 そうすればインポートする前にそれについて議論できます (もしあなたがコミッターであれば、 そのことを FreeBSD ports メーリングリスト に送って先に議論するようにしてください。 新しい port が間違ったカテゴリに import されて、 すぐ移動されることがあまりに多いのです。そうなると、 ソースリポジトリのマスターが不要で好ましくない膨れ方をしてしまいます。

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

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

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