blob: 8ab1fdc8afcc2d243cc06e22a485c554553104fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
---
title: Getting Mozilla Source Code Using CVS
slug: Mozilla/Developer_Guide/Source_Code/CVS
tags:
- Build documentation
- Developing Mozilla
---
<div class="note">注記: このドキュメントは Gecko 1.9.0 や Firefox 3 より古いバージョンと、NSS および NSPR のすべてのバージョンのソースコードを取得する方法について書かれています。Gecko 1.9.1/Firefox 3.5 以降の開発は <a class="internal" href="/ja/Developer_Guide/Source_Code/Mercurial" title="ja/Developer Guide/Source Code/Mercurial">Mercurial</a> ソースコードコントロールシステムを使用します。</div>
<p>精力的に開発に関わっている人は、CVS を使って最新のソースをチェックアウトできます。この方法は、パッチやバグ修正を提供したい場合におすすめの方法です。というのも、文字通り最新の変更を入手でき、それらとあなた独自の変更をマージできるからです。</p>
<p>リリースのために製品をコンパイルしたい場合は、tarball で <a href="/ja/Developer_Guide/Source_Code/Downloading_Source_Archives" title="ja/Developer_Guide/Source_Code/Downloading_Source_Archives">Mozilla ソースコードをダウンロードする</a> 方が良いでしょう。</p>
<h3 id="Getting Started" name="Getting Started">はじめに</h3>
<p>CVS とは「Concurrent Versioning System」を意味します。CVS 全般について知りたい場合は、 <a class="external" href="http://ximbiot.com/cvs/manual/">ximbiot.com</a> あるいは <a class="external" href="http://ximbiot.com/cvs/cvshome/docs/blandy.html">チュートリアル</a> を参照してください。</p>
<p>誰でも CVS を経由してソースをチェックアウト (「pull (引っ張る)」 とか 「download (ダウンロードする)」 とも言われます) できますが、チェックイン (変更すること、「commit (コミット)」 とも言われます) は許可のある人しかできません。チェックインができる人は、<a class="external" href="http://www.mozilla.org/owners.html">モジュールオーナー</a> やその代理人に限られます。「<a class="external" href="http://www.mozilla.org/hacking/">Mozilla をハックする<span class="comment">hacking mozilla</span></a>」 を読んで、チェックインの権限を得るにはどうしたらよいのか学んでください。<a href="/ja/Using_SSH_to_connect_to_CVS" title="ja/Using_SSH_to_connect_to_CVS">SSH をつかって CVS に接続する</a>も参考になるかもしれません。</p>
<h4 id="Requirements" name="Requirements">必要条件</h4>
<p>ソースをチェックアウトするには、<a class="external" href="http://www.nongnu.org/cvs/">CVS</a> 1.11 以降を実行していなければなりません。1.12.13 は CVS サーバと相性が悪く、ハングアップします。1.12.9 は動作することがわかっています。さらに、Mozilla をチェックアウトしてビルドするには <a class="external" href="http://www.gnu.org/software/make/">GNU make</a> を使用しなければなりません。それ以外の「make」プログラムでは動きません。Windows、Mac および通常の GNU システム(GNU/Linux など)では、「make」と入力して GNU make を実行してください。非 GNU UNIX の多く(例えば Solaris など)では「gmake」を使用してください。</p>
<h3 id="CVS Client Settings" name="CVS Client Settings">CVS クライアントの設定</h3>
<p>Mozilla の CVS に匿名でアクセスするための 「cvsroot」(リポジトリを識別する文字列)は次のとおりです:</p>
<pre class="eval">:pserver:<a class=" link-mailto" href="mailto:anonymous@cvs-mirror.mozilla.org" rel="freelink">anonymous@cvs-mirror.mozilla.org</a>:/cvsroot
</pre>
<p>グラフィカル CVS インタフェースを使用する場合は次のサーバデータを使用してください:</p>
<ul> <li><strong>ホスト</strong>: "cvs-mirror.mozilla.org"</li> <li><strong>リポジトリパス</strong>: "/cvsroot"</li> <li><strong>ユーザ</strong>: "anonymous"</li> <li><strong>パスワード</strong>: "anonymous"</li> <li><strong>接続方法</strong>: pserver</li> <li><strong>ポート</strong>: デフォルト (2401)</li>
</ul>
<h3 id="Selecting_a_Project_to_Pull" name="Selecting_a_Project_to_Pull">引っ張ってくるプロジェクトを選択する</h3>
<p>同じ基礎のソースコードから複数の異なるアプリケーションがビルドされているため、<code>MOZ_CO_PROJECT</code> 変数を使ったコマンドライン上で、どのアプリケーションをチェックアウトするかを選択しなければなりません。この情報は実際のソースコードがチェックアウトされる際に使用されます(チェックアウトしたいブランチに従って、下にある適当な <a href="#.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.A2.E3.82.A6.E3.83.88">チェックアウト</a> <a href="#.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.A2.E3.82.A6.E3.83.88_2">セクション</a> をご覧ください)。利用可能なオプションには次のようなものがあります:</p>
<dl> <dt> browser </dt> <dd> スタンドアローンな「Firefox」ブラウザです。</dd> <dt> mail </dt> <dd> スタンドアローンな「Thunderbird」メール・ニュースクライアントです。</dd> <dt> suite </dt> <dd> 古くからある、ブラウザ、メール・ニュース、コンポーザ、その他のアプリケーションからなる「Mozilla」 SeaMonkey スイートです。</dd> <dt> minimo </dt> <dd> 小型デバイス向けのスタンドアローンなブラウザです。</dd> <dt> composer </dt> <dd> スタンドアローンな HTML コンポーザです。</dd> <dt> calendar </dt> <dd> スタンドアローンな「Sunbird」カレンダーアプリケーションです。</dd> <dt> xulrunner </dt> <dd> 次世代の XUL アプリケーションランチャーです。</dd> <dt> camino </dt> <dd> Macintosh 用の「Camino」ネイティブブラウザです。</dd> <dt> all </dt> <dd> 上記のプロジェクトすべてに対応したソースに加えてユーティリティコードをチェックアウトします。</dd>
</dl>
<p>カンマで繋ぐことで複数のプロジェクトを指定できます:<code>MOZ_CO_PROJECT=suite,browser,xulrunner</code></p>
<p><strong>注意</strong>:独自の <code><a href="/ja/Configuring_Build_Options#.mozconfig_.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86" title="ja/Configuring_Build_Options#.mozconfig_.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86">.mozconfig</a></code> ファイルを使用する場合は <code>MOZ_CO_PROJECT</code> をコマンドラインではなくそのファイルで指定することもできます。</p>
<p>{{ 英語版章題("Checking Out a New Source Tree") }}</p>
<h3 id=".E6.96.B0.E3.81.97.E3.81.84.E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.A2.E3.82.A6.E3.83.88.E3.81.99.E3.82.8B" name=".E6.96.B0.E3.81.97.E3.81.84.E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.A2.E3.82.A6.E3.83.88.E3.81.99.E3.82.8B">新しいソースツリーをチェックアウトする</h3>
<p>{{ 英語版章題("Check Tinderbox") }}</p>
<h4 id="Tinderbox_.E3.82.92.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B" name="Tinderbox_.E3.82.92.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B">Tinderbox を確認する</h4>
<p>ツリーを引っ張ってくる前には適当な <a href="/ja/Tinderbox" title="ja/Tinderbox">Tinderbox</a> を毎回確認してコードベースが壊れていないかどうかを確かめるようにします。赤くなっている Tinderbox があれば、それが緑になるまでツリーを引っ張るのを待つことをお勧めします。</p>
<p>{{ 英語版章題("Branch HEAD") }}</p>
<h4 id=".E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_HEAD" name=".E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_HEAD">ブランチ HEAD</h4>
<p>一から新しいソースツリーをチェックアウトするには、まず <code>client.mk</code> ファイルを取得してください。このファイルには残りのツリーを引っ張ってくるのに使用するメイクファイルの命令が含まれています。</p>
<pre class="eval">$ cvs -d :pserver:<a class=" link-mailto" href="mailto:anonymous@cvs-mirror.mozilla.org" rel="freelink">anonymous@cvs-mirror.mozilla.org</a>:/cvsroot co mozilla/client.mk
</pre>
<p>注意:<code><a href="/ja/Configuring_Build_Options#.mozconfig_.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86" title="ja/Configuring_Build_Options#.mozconfig_.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86">.mozconfig</a></code> ファイルをすでに用意してある場合は次のファイルもチェックアウトしなければなりません。</p>
<dl> <dt> Firefox </dt> <dd> <pre>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/browser/config/mozconfig</pre> </dd> <dt> Thunderbird </dt> <dd> <pre>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/mail/config/mozconfig</pre> </dd>
</dl>
<p>{{ Note("HEAD 上の Thunderbird の最新版は 3.0a2 後のナイトリービルドでした。HEAD 上の SeaMonkey の最新版は 2.0a1pre ナイトリービルドでした。Thunderbird や SeaMonkey の開発はこれ以上 CVS の HEAD 上では行われません。") }}</p>
<p>{{ 英語版章題("Specific Branch") }}</p>
<h4 id=".E7.89.B9.E5.AE.9A.E3.81.AE.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81" name=".E7.89.B9.E5.AE.9A.E3.81.AE.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81">特定のブランチ</h4>
<p>特定の <a class="external" href="http://ximbiot.com/cvs/wiki/index.php?title=CVS--Concurrent_Versions_System_v1.12.12.1:_Branching_and_merging">CVS ブランチ</a> のソースコードをチェックアウトしたい場合は代わりに次のようにしてください:</p>
<pre class="eval">$ cvs -d :pserver:<a class=" link-mailto" href="mailto:anonymous@cvs-mirror.mozilla.org" rel="freelink">anonymous@cvs-mirror.mozilla.org</a>:/cvsroot co -r BRANCH mozilla/client.mk
</pre>
<p>例えば、Firefox 2.0/Thunderbird 2.0/SeaMonkey 1.1 開発ブランチを引っ張ってくるには、上記の BRANCH を MOZILLA_1_8_BRANCH に置き換えてください。利用可能な Mozilla のブランチタグについては <a href="/ja/CVS_Tags" title="ja/CVS_Tags">CVS タグ</a> を参照してください。</p>
<p><a href="#.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_HEAD">前のセクション</a> で示したプロジェクト固有の <code>.mozconfig</code> ファイルを引っ張ってくる方法はもちろん HEAD 以外のブランチでも使用できます。</p>
<p>{{ 英語版章題("Checkout") }}</p>
<h4 id=".E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.A2.E3.82.A6.E3.83.88" name=".E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.A2.E3.82.A6.E3.83.88">チェックアウト</h4>
<p>正しいブランチを選んだら、次を実行してください:</p>
<pre class="eval">$ cd mozilla
$ make -f client.mk checkout MOZ_CO_PROJECT=<em>option,option</em>
</pre>
<p>上で触れたように、<code>MOZ_CO_PROJECT</code> 変数を指定済みの独自の <code>.mozconfig</code> ファイルを使用する場合は、コマンドラインでこの作業を繰り返す必要はありません。</p>
<div class="note">Mozilla のソースをチェックアウトするときには常に <code>client.mk</code> を使用してください。直接 <code>mozilla/</code> モジュールをチェックアウトしてはいけません。通常の Mozilla の開発がトランク上で行われているときでさえ、NSS、NSPR、LDAP C SDK といったさまざまなサブプロジェクトは安定版リリースタグから引っ張り出されます。</div>
<p>{{ 英語版章題("Specific Time") }}</p>
<h4 id=".E7.89.B9.E5.AE.9A.E3.81.AE.E6.99.82.E5.88.BB" name=".E7.89.B9.E5.AE.9A.E3.81.AE.E6.99.82.E5.88.BB">特定の時刻</h4>
<p>ある特定の時刻においてのソースコードをチェックアウトしたい場合は MOZ_CO_DATE 変数を使用できます。例:<code>MOZ_CO_DATE="20 Oct 2006 17:00 PDT"</code></p>
<p>これは <code><a href="/ja/Configuring_Build_Options#.mozconfig_.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86" title="ja/Configuring_Build_Options#.mozconfig_.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86">.mozconfig</a></code> に加えることも、次のようにしてコマンドラインで指定することもできます。</p>
<pre class="eval">$ cd mozilla
$ make -f client.mk checkout MOZ_CO_DATE="20 Oct 2006 17:00 PDT" MOZ_CO_PROJECT=<em>option,option</em>
</pre>
<p>{{ 英語版章題("Changing the Source Tree to a Different Branch") }}</p>
<h3 id=".E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E7.95.B0.E3.81.AA.E3.82.8B.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81.E3.81.AB.E5.A4.89.E6.9B.B4.E3.81.99.E3.82.8B" name=".E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E7.95.B0.E3.81.AA.E3.82.8B.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81.E3.81.AB.E5.A4.89.E6.9B.B4.E3.81.99.E3.82.8B">ソースツリーを異なるブランチに変更する</h3>
<p>{{ 英語版章題("Branch HEAD") }}</p>
<h4 id=".E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_HEAD_2" name=".E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_HEAD_2">ブランチ HEAD</h4>
<p>ソースツリー(ブランチ HEAD あるいは特定のブランチ)を最新のブランチ HEAD に更新するには、まずこれを実行してください:</p>
<pre class="eval">$ cd mozilla
$ cvs up -A client.mk
</pre>
<p>-A オプションは「貼り付いたブランチ」の情報を取り払い、ツリーを HEAD に更新できるようになります。</p>
<p>{{ 英語版章題("Specific Branch") }}</p>
<h4 id=".E7.89.B9.E5.AE.9A.E3.81.AE.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_2" name=".E7.89.B9.E5.AE.9A.E3.81.AE.E3.83.96.E3.83.A9.E3.83.B3.E3.83.81_2">特定のブランチ</h4>
<p>特定のブランチから引っ張ってきたソースツリーを更新するには代わりにこうしてください:</p>
<pre class="eval">$ cd mozilla
$ cvs up -r BRANCH client.mk
</pre>
<p>BRANCH は更新したいブランチのタグで置き換えてください。</p>
<p>{{ 英語版章題("Updating a Source Tree") }}</p>
<h3 id=".E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E6.9B.B4.E6.96.B0.E3.81.99.E3.82.8B" name=".E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E6.9B.B4.E6.96.B0.E3.81.99.E3.82.8B">ソースツリーを更新する</h3>
<p>ソースツリーを更新するには、単に次のようにします:</p>
<pre class="eval">$ make -f client.mk checkout MOZ_CO_PROJECT=<em>option,option</em>
</pre>
<p>やはり <code>MOZ_CO_PROJECT</code> を定義してある独自の <code>.mozconfig</code> ファイルを使用するのであれば、コマンドラインで作業を繰り返す必要はありません。</p>
<p>{{ 英語版章題("Creating a Diff File") }}</p>
<h3 id=".E5.B7.AE.E5.88.86.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.9C.E6.88.90.E3.81.99.E3.82.8B" name=".E5.B7.AE.E5.88.86.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.9C.E6.88.90.E3.81.99.E3.82.8B">差分ファイルを作成する</h3>
<p>リポジトリ内の現時点でのファイルと単一のローカルファイルとの差分を作成するには次のようにしてください:</p>
<pre class="eval">$ cvs diff -u8p FILENAME
</pre>
<p>詳しくは <a href="/ja/Creating_a_patch" title="ja/Creating_a_patch">パッチの作成</a> を参照してください。</p>
<p>{{ 英語版章題("Converting a Downloaded Source Tree") }}</p>
<h3 id=".E3.83.80.E3.82.A6.E3.83.B3.E3.83.AD.E3.83.BC.E3.83.89.E3.81.97.E3.81.9F.E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E5.A4.89.E6.8F.9B.E3.81.99.E3.82.8B" name=".E3.83.80.E3.82.A6.E3.83.B3.E3.83.AD.E3.83.BC.E3.83.89.E3.81.97.E3.81.9F.E3.82.BD.E3.83.BC.E3.82.B9.E3.83.84.E3.83.AA.E3.83.BC.E3.82.92.E5.A4.89.E6.8F.9B.E3.81.99.E3.82.8B">ダウンロードしたソースツリーを変換する</h3>
<p>mozilla.org からダウンロードしたソースツリー(<a href="/ja/Developer_Guide/Source_Code/Downloading_Source_Archives" title="ja/Developer_Guide/Source_Code/Downloading_Source_Archives">ソースの tarball</a>)は、通常のチェックアウト時のようにすでに CVS の情報が付け加えられた状態になっています。通常のツリーと同様、このツリーは特別なことをしなくても最新のコードに更新することができます。ソースツリーの更新方法は前のセクションをご覧ください。</p>
<div class="noinclude">
<p>{{ languages( { "en": "en/Mozilla_Source_Code_(CVS)", "es": "es/C\u00f3digo_fuente_de_Mozilla_(CVS)", "fr": "fr/Obtenir_le_code_source_de_Mozilla_via_CVS", "zh-cn": "cn/\u901a\u8fc7CVS\u83b7\u53d6\u6e90\u7801" } ) }}</p>
</div>
|