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