Next: Translations under Version Control, Previous: Distributed Development, Up: Version Control Issues [Contents][Index]
バージョンコントロールされたリポジトリーのコンテキストで作成されるファイル、たとえばconfigure.acにより生成されるconfigure、parser.y
から生成されるparser.c
、gettextize
やautopoint
により自動インストールされるpo/Makefile.in.in
のようなファイルを取り扱うには、基本的に3つの方法があります。
これら3つの方法には、それぞれ異なる利点と欠点があります。
automake
、GNU autoconf
、GNU
m4
のようなツールがインストールされている必要があり、ときには特定のバージョンが必要になる。automake
,
GNU autoconf
, GNU
m4
のようなツールがインストールされている必要があるだけではなく、"./configure;
make"をできるようになる前に、パッケージ固有のpre-build(ビルド前)ステップが必要になることです。
1番目と2番目の方法では、変更されたファイルや、gettextize
呼び出しにより生成・更新されたファイルは、リポジトリーにコミットする必要があります。
3番目の方法では、gettextize
が"コピー"するすべてのファイルを、レポジトリーから除外できます。そのかわりにconfigure.ac(またはconfigure.in)を、以下のような形式で記述します
AM_GNU_GETTEXT_VERSION(0.19.8)
さらにパッケージのpre-buildスクリプトに‘autopoint’呼び出しを追加します。ソースをチェックアウトする人は誰でも、この‘autopoint’呼び出しによりリポジトリーから除外されたgettext
の基礎的なファイルが適切な場所にコピーされます。
AM_GNU_GETTEXT_VERSION
の引数に使用されているバージョン番号は、パッケージが使いたいgettext
インフラストラクチャーのバージョン番号です。これは‘autopoint’プログラムの最小のバージョン番号でもあります。もしAM_GNU_GETTEXT_VERSION(0.11.5)
と記述した場合、開発者は0.11.5以上のバージョンを使用でき、すべての開発者のビルドがバージョン0.11.5のインフラストラクチャーで動作します。メンテナーがパッケージにたいしてバージョン0.12.1を指定してgettextizeを実行したとき、AM_GNU_GETTEXT_VERSION(0.11.5)
はAM_GNU_GETTEXT_VERSION(0.12.1)
に変更され、今後CVSを使う開発者はGNU
gettext
0.12.1以降をインストールする必要があります。