パッケージ作成 - 4. ファイルシステムのレイアウト
以下はファイルシステムのレイアウトのガイドラインで, Fink のパッケージ作成ポリシーの一部です.
4.1 ファイルシステム構造標準 (Filesystem Hierarchy Standard)
Fink は
ファイルシステム構造標準 (Filesystem Hierarchy Standard, 略して FHS )
の精神に従います.
しかし従えるのは飽くまでも精神のみです.
それは FHS が /
以下と /usr
以下の階層を管理できるシステムベンダ向けに作られたからです.
Fink はインストールディレクトリ (別名「プリフィクス」) 以下のみを管理するアドオン・ディストリビューションです.
以降の例ではデフォルトの「プリフィクス」 /opt/sw
を使います.
4.2 ディレクトリ
ファイルは以下のサブディレクトリに保存します:
Field | Value |
---|---|
/opt/sw/bin
|
一般的な実行可能プログラム用. サブディレクトリはなし. |
/opt/sw/sbin
|
管理者のみが使うことを意図した実行可能プログラム用. バックグラウンドで動くデーモンもここに入る. サブディレクトリはなし. |
/opt/sw/include
|
C と C++ のヘッダファイル用. 必要に応じてサブディレクトリを作成してよい. 標準の C ヘッダファイルと混同しそうなヘッダファイルをインストールする場合は必ずサブディレクトリに入れること. |
/opt/sw/lib
|
アーキテクチャ依存のデータファイルやライブラリ用.
静的および共有ライブラリは,避ける理由が特にない限り
パッケージは,固有のデータやロード可能モジュールを保存するサブディレクトリを自由に作成できます.
必ず互換性を考慮したディレクトリ名を使って下さい.
賢明な方法は,そのサブディレクトリの名前にパッケージの「メジャーバージョン」を含めたり,
「メジャーバージョン」をディレクトリ名にしたさらに深い階層を作ることです
( |
/opt/sw/lib/ppc64
/opt/sw/lib/x86_64 |
このディレクトリは 64-bit ライブラリ用で,
powerpc アーチテクチャーでは |
/opt/sw/share
|
アーキテクチャに依存しないデータファイル用で, |
/opt/sw/share/man
|
man ページ用.
この中は man のセクションに従って分類されます.
|
/opt/sw/share/info
|
Texinfo ソースから生成される Info 形式のドキュメント用.
索引ファイル |
/opt/sw/share/doc
|
man でも Info でもないドキュメント用.
README, LICENSE, COPYING はここに保存する.
全てのパッケージは,ここに各「パッケージ名」に対応したサブディレクトリを作らなければいけない.
名前には (「パッケージ名」そのものの一部でない限り) 「バージョン」を含めてはいけない.
単に |
/opt/sw/share/locale
|
国際化で使うメッセージカタログ用. |
/opt/sw/var
|
ディレクトリ |
/opt/sw/etc
|
設定ファイル用. 複数のファイルを使用するパッケージは,ここにサブディレクトリを作らなければいけない. 区別のため,そのサブディレクトリにはパッケージまたはその中のプログラムの名前を付けなければいけない. |
/opt/sw/src
|
ソースコードを保存,ビルドするディレクトリ. パッケージはここに何もインストールしてはいけない. |
/opt/sw/Applications |
このディレクトリには,コマンドラインから実行するのではなく,ダブルクリックで実行する OS X 型のアプリケーションを保存する. |
/opt/sw/Library/Frameworks |
このディレクトリには,OS X 型のアプリケーションが使用する,OS X 型のフレームワークを保存する. |
4.3 避けるべきこと
/opt/sw
下には,上述のもの以外ディレクトリを作ってはいけません.
特に以下のディレクトリを作らないこと:
/opt/sw/man
, /opt/sw/info
, /opt/sw/doc
,
/opt/sw/libexec
, /opt/sw/lib/locale
次: 5. コンパイラ