Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Getting Mozilla Source Code Using CVS

注記: このドキュメントは Gecko 1.9.0 や Firefox 3 より古いバージョンと、NSS および NSPR のすべてのバージョンのソースコードを取得する方法について書かれています。Gecko 1.9.1/Firefox 3.5 以降の開発は Mercurial ソースコードコントロールシステムを使用します。

精力的に開発に関わっている人は、CVS を使って最新のソースをチェックアウトできます。この方法は、パッチやバグ修正を提供したい場合におすすめの方法です。というのも、文字通り最新の変更を入手でき、それらとあなた独自の変更をマージできるからです。

リリースのために製品をコンパイルしたい場合は、tarball で Mozilla ソースコードをダウンロードする 方が良いでしょう。

はじめに

CVS とは「Concurrent Versioning System」を意味します。CVS 全般について知りたい場合は、 ximbiot.com あるいは チュートリアル を参照してください。

誰でも CVS を経由してソースをチェックアウト (「pull (引っ張る)」 とか 「download (ダウンロードする)」 とも言われます) できますが、チェックイン (変更すること、「commit (コミット)」 とも言われます) は許可のある人しかできません。チェックインができる人は、モジュールオーナー やその代理人に限られます。「Mozilla をハックするhacking mozilla」 を読んで、チェックインの権限を得るにはどうしたらよいのか学んでください。SSH をつかって CVS に接続するも参考になるかもしれません。

必要条件

ソースをチェックアウトするには、CVS 1.11 以降を実行していなければなりません。1.12.13 は CVS サーバと相性が悪く、ハングアップします。1.12.9 は動作することがわかっています。さらに、Mozilla をチェックアウトしてビルドするには GNU make を使用しなければなりません。それ以外の「make」プログラムでは動きません。Windows、Mac および通常の GNU システム(GNU/Linux など)では、「make」と入力して GNU make を実行してください。非 GNU UNIX の多く(例えば Solaris など)では「gmake」を使用してください。

CVS クライアントの設定

Mozilla の CVS に匿名でアクセスするための 「cvsroot」(リポジトリを識別する文字列)は次のとおりです:

:pserver:[email protected]:/cvsroot

グラフィカル CVS インタフェースを使用する場合は次のサーバデータを使用してください:

  • ホスト: "cvs-mirror.mozilla.org"
  • リポジトリパス: "/cvsroot"
  • ユーザ: "anonymous"
  • パスワード: "anonymous"
  • 接続方法: pserver
  • ポート: デフォルト (2401)

引っ張ってくるプロジェクトを選択する

同じ基礎のソースコードから複数の異なるアプリケーションがビルドされているため、MOZ_CO_PROJECT 変数を使ったコマンドライン上で、どのアプリケーションをチェックアウトするかを選択しなければなりません。この情報は実際のソースコードがチェックアウトされる際に使用されます(チェックアウトしたいブランチに従って、下にある適当な チェックアウト セクション をご覧ください)。利用可能なオプションには次のようなものがあります:

browser 
スタンドアローンな「Firefox」ブラウザです。
mail 
スタンドアローンな「Thunderbird」メール・ニュースクライアントです。
suite 
古くからある、ブラウザ、メール・ニュース、コンポーザ、その他のアプリケーションからなる「Mozilla」 SeaMonkey スイートです。
minimo 
小型デバイス向けのスタンドアローンなブラウザです。
composer 
スタンドアローンな HTML コンポーザです。
calendar 
スタンドアローンな「Sunbird」カレンダーアプリケーションです。
xulrunner 
次世代の XUL アプリケーションランチャーです。
camino 
Macintosh 用の「Camino」ネイティブブラウザです。
all 
上記のプロジェクトすべてに対応したソースに加えてユーティリティコードをチェックアウトします。

カンマで繋ぐことで複数のプロジェクトを指定できます:MOZ_CO_PROJECT=suite,browser,xulrunner

注意:独自の .mozconfig ファイルを使用する場合は MOZ_CO_PROJECT をコマンドラインではなくそのファイルで指定することもできます。

新しいソースツリーをチェックアウトする

Tinderbox を確認する

ツリーを引っ張ってくる前には適当な Tinderbox を毎回確認してコードベースが壊れていないかどうかを確かめるようにします。赤くなっている Tinderbox があれば、それが緑になるまでツリーを引っ張るのを待つことをお勧めします。

ブランチ HEAD

一から新しいソースツリーをチェックアウトするには、まず client.mk ファイルを取得してください。このファイルには残りのツリーを引っ張ってくるのに使用するメイクファイルの命令が含まれています。

$ cvs -d :pserver:[email protected]:/cvsroot co mozilla/client.mk

注意:.mozconfig ファイルをすでに用意してある場合は次のファイルもチェックアウトしなければなりません。

Firefox 
cvs -d :pserver:[email protected]:/cvsroot co mozilla/browser/config/mozconfig
Thunderbird 
cvs -d :pserver:[email protected]:/cvsroot co mozilla/mail/config/mozconfig

註: HEAD 上の Thunderbird の最新版は 3.0a2 後のナイトリービルドでした。HEAD 上の SeaMonkey の最新版は 2.0a1pre ナイトリービルドでした。Thunderbird や SeaMonkey の開発はこれ以上 CVS の HEAD 上では行われません。

特定のブランチ

特定の CVS ブランチ のソースコードをチェックアウトしたい場合は代わりに次のようにしてください:

$ cvs -d :pserver:[email protected]:/cvsroot co -r BRANCH mozilla/client.mk

例えば、Firefox 2.0/Thunderbird 2.0/SeaMonkey 1.1 開発ブランチを引っ張ってくるには、上記の BRANCH を MOZILLA_1_8_BRANCH に置き換えてください。利用可能な Mozilla のブランチタグについては CVS タグ を参照してください。

前のセクション で示したプロジェクト固有の .mozconfig ファイルを引っ張ってくる方法はもちろん HEAD 以外のブランチでも使用できます。

チェックアウト

正しいブランチを選んだら、次を実行してください:

$ cd mozilla
$ make -f client.mk checkout MOZ_CO_PROJECT=option,option

上で触れたように、MOZ_CO_PROJECT 変数を指定済みの独自の .mozconfig ファイルを使用する場合は、コマンドラインでこの作業を繰り返す必要はありません。

Mozilla のソースをチェックアウトするときには常に client.mk を使用してください。直接 mozilla/ モジュールをチェックアウトしてはいけません。通常の Mozilla の開発がトランク上で行われているときでさえ、NSS、NSPR、LDAP C SDK といったさまざまなサブプロジェクトは安定版リリースタグから引っ張り出されます。

特定の時刻

ある特定の時刻においてのソースコードをチェックアウトしたい場合は MOZ_CO_DATE 変数を使用できます。例:MOZ_CO_DATE="20 Oct 2006 17:00 PDT"

これは .mozconfig に加えることも、次のようにしてコマンドラインで指定することもできます。

$ cd mozilla
$ make -f client.mk checkout MOZ_CO_DATE="20 Oct 2006 17:00 PDT" MOZ_CO_PROJECT=option,option

ソースツリーを異なるブランチに変更する

ブランチ HEAD

ソースツリー(ブランチ HEAD あるいは特定のブランチ)を最新のブランチ HEAD に更新するには、まずこれを実行してください:

$ cd mozilla
$ cvs up -A client.mk

-A オプションは「貼り付いたブランチ」の情報を取り払い、ツリーを HEAD に更新できるようになります。

特定のブランチ

特定のブランチから引っ張ってきたソースツリーを更新するには代わりにこうしてください:

$ cd mozilla
$ cvs up -r BRANCH client.mk

BRANCH は更新したいブランチのタグで置き換えてください。

ソースツリーを更新する

ソースツリーを更新するには、単に次のようにします:

$ make -f client.mk checkout MOZ_CO_PROJECT=option,option

やはり MOZ_CO_PROJECT を定義してある独自の .mozconfig ファイルを使用するのであれば、コマンドラインで作業を繰り返す必要はありません。

差分ファイルを作成する

リポジトリ内の現時点でのファイルと単一のローカルファイルとの差分を作成するには次のようにしてください:

$ cvs diff -u8p FILENAME

詳しくは パッチの作成 を参照してください。

ダウンロードしたソースツリーを変換する

mozilla.org からダウンロードしたソースツリー(ソースの tarball)は、通常のチェックアウト時のようにすでに CVS の情報が付け加えられた状態になっています。通常のツリーと同様、このツリーは特別なことをしなくても最新のコードに更新することができます。ソースツリーの更新方法は前のセクションをご覧ください。

ドキュメントのタグと貢献者

 最終更新者: teoli,