repository リポジトリの構造
ソースツリー構造の概要
&fml4; と異なり、
「使えるもの(たとえば CPAN )は何でも使え」が &fml8; の基本方針です。
そうしないと、自分で保守するべき項目が増えるだけだからです。
ただし、保守する人もしくはライセンスをはっきりさせておくために、
ベンダーごとにディレクトリを分けています。
たとえば CPAN で保守されているものは cpan/ ディレクトリ以下に入れています。
ライセンスなどによっては、将来さらに区分を分ける必要が出てくるかもしれません。
cpan/ や 3rdparty/ 以下のモジュールを変更したい場合は fml/ 以下で、
なんらかのラップ(wrap)をするか、パッチをオリジナルに反映してもらったうえで
cpan/ 以下をアップデートをすることが望ましいやり方です。
cpan/lib/ に直接変更を加えることもありますが、
cpan/dist/ はオリジナルを保存する場所なので、変更してはいけません。
なお site_local/ (予約語、配布セットには存在しないディレクトリ)は、
そのサイト独自の module を置くディレクトリと定義されています。
つまり fml プロジェクトとは無関係です。
リポジトリ内のディレクトリ構造
/ 以下のディレクトリ構造
/ 以下のディレクトリ構造
ベンダー名
そのディレクトリにおくモジュールの説明
Documentation/
ドキュメントとして公開する場所。
ベンダー境界を越えて混ざりうるので
このディレクトリが創設されました。
fml/
&fml8; プロジェクト直轄
cpan/
CPAN で保守されているもの
この下のモジュールについては上述の説明のとおり。
単に標準モジュールでないため、ないしは
&fml8; のバージョン管理や保守のために、ここに収容。
なお
cpan/dist/
に輸入したモジュールの元パッケージ全体をおき、
cpan/lib/
にライブラリを正しいクラス階層にあうように配置します。
img/
Internet Message Group
(IM は解散したが、保守を引き継いだ偉い人がいるので OK。
IMG ではないが IMG という名前のまま使う)
3rdparty/
サードパーティ用(予約)
予約されているだけで、
&fml8; プロジェクトとしては使いません。
site_local/
デフォルトではリポジトリ・ツリー内にはありません。
そのサイト独自に保守したいモジュールをおくための
ディレクトリ。
名前を予約されているだけで、
&fml8; プロジェクトとしては使いません。
fml/ 以下
fml/ 以下のディレクトリの説明
ディレクトリ
説明
fml/bin/
/usr/local/bin/ にインストールするプログラム
fml/doc/
Documentation/ のソース
fml/etc/
設定ファイルやテンプレート群
fml/lib/
perl モジュール群
fml/libexec/
実行されるプログラムの実体。
すぐにモジュールを呼び出すので、
正確には wrapper です。
重要なのは loader だけです。
fml/share/
メッセージのテンプレートなど
fml/utils/
ユーティリティですが、
これは開発者が fml のソース内で使うだけのものです。
インストール対象ではありません。