mozilla.org のコンテンツと CVS

Mike Shaver、Terry Weissman、および Jamie Zawinski
fantasai および benc

この資料では、mozilla.org のサブツリーにコンテンツを追加する際に従わなければならない、重要な事項について解説します。Web サイトの一部を壊してしまったりしないよう、これらの事項を十分に理解してください。さもないと、後悔の元になりかねません。(私達の説明が拙かったために問題が起こってしまった場合には、もちろん修正のお手伝いをします。そのときには容赦なく叱ってください。)

  1. mozilla.org のビルドシステムについて
  2. Web サイトツリーへの CVS アクセス
    1. 匿名 (anonymous) アクセス
    2. CVS アカウントによるアクセス
  3. チェックアウト
  4. チェックイン
  5. Doctor を用いた Web ベースの CVS アクセス
  6. Bonsai
  7. mozilla.org をビルドする
    1. Unix や Mac OS X でのビルド環境の設定
    2. Windows でのビルド環境の設定
    3. Mac OS でのビルド環境の設定
    4. ビルドコマンド

mozilla.org ビルドシステム

mozilla.org の Web サイトは全体が、一切装飾のない HTML ファイルからなる CVS ツリーで構成されています。Web サイト上にあるこれら HTML およびその他のファイルは、Web サイトの CVS ルート下の html サブディレクトリにあります。makefile や Perl スクリプトの一群は、定期的にこれらのファイルを処理して、output サブディレクトリへと書き出します。output サブディレクトリ内のコンテンツが、mozilla.og の Web サイトとして公開されます。Web サイトの CVS ツリーを チェックアウト して、mozilla.org をビルド すれば、このビルドプロセスをお手元のマシーンでも再現できます。

html ディレクトリ下にある CVS リポジトリにチェックインされたすべてのファイルが、Web サイト上に公開されます。

デフォルトでは HTML ファイルに、mozilla.org 標準の左サイドメニューが追加されます。同じディレクトリ内の NOWRAP ファイルに記述されている HTML ファイルは、ラップされません。(ラップされるのは HTML ファイルだけなので、イメージファイルを NOWRAP に含める必要はありません。) 同じディレクトリ内の NOMENU ファイルに記述されているファイルは、上部のヘッダとフッタのみを足してラップされます。

作成したファイルは、 html ディレクトリにあるようなものでなければなりません。つまり、ファイルにあるのはメインコンテントのみで、メニューなどは含まれていない状態です。 メニューバーなどは、Perl による黒魔術で追加されます。左側のメニューに何かを追加したい場合は、私達の誰か に頼まなければなりません。

すでに登録されているファイルを追加、削除したり、NOWRAP ファイルを変更する時、特にルートにある index.htmlnews.html を変更する場合は、Web サイトのルートディレクトリからの gmake/make がエラーなく完全に終了することを 必ず 確認してください。これによって、新しいファイルを含めた Makefile が再生成されます。

make プロセスで何らかのエラーが出た場合、改修されるまで、新しいコンテンツは mozilla.org に一切反映されません。この様な事態は、プロジェクト全体に大きな影響を与えますので、避けるようにしてください。コンパイルできないようなソースコードをチェックインしますか? 勿論そんなことはしませんね。同じような状況だと考えてください。

Web サイトツリーへの CVS アクセス

CVS リポジトリへのアクセス方法には二通りあり、ひとつは cvs.mozilla.org で、もうひとつは読み込みのみの cvs-mirror.mozilla.org です。プライマリーの CVS リポジトリには ssh 経由でアクセスします。(ミラーにサクセスする場合は pserver を利用してください。)

匿名 (anonymous) アクセス

$CVSROOT を次のように設定します:

:pserver:anonymous@cvs-mirror.mozilla.org:/www

anonymous 用のパスワードは anonymous です。

CVS アカウントによるアクセス

$CVSROOT を次のように設定します:

your%address@cvs.mozilla.org:/www

上で your%address となっているところは、登録されたメールアドレスの @% で置き換えたものです。メールアドレスが foo@bar.com の場合、$CVSROOT は次のようになります:

foo%bar.com@cvs.mozilla.org:/www

チェックアウト

$CVSROOT が正しく設定できたら、Web サイトをチェックアウトしましょう。ツリー全体は非常に大きいので、最も低いディレクトリのみをチェックアウトするようにしてください。例えば、Networking QA に興味がある人は、/quality/networking さえチェックアウトすれば十分でしょう:

cvs -z3 co mozilla-org/html/quality/networking

-z3 は転送の際に圧縮を行うためのオプションです。

Web サイトを ビルド しなければならない場合は、ScriptBase モジュールもチェックアウトしてください:

cvs -z3 co ScriptBase

ScriptBase モジュールは利用可能なもっとも小さなドキュメンテーションモジュールで、必要なスクリプトとラッパー、最小限の資料で構成されています。.

MozillaOrgTrim モジュールは、大きなファイル類を除いた Web の一部分をチェックアウトします。MozillaOrg モジュールは Web サイト全体をチェックアウトします。モジュールの全一覧を表示するには次のように入力してください:

cvs co -c

チェックイン

新しいファイルをコミットする前には必ず cvs add を行ってください。た、バイナリファイルには -kb オプションを付けてファイルの破損を防ぐといった、その他の CVS の正しいルールに従ってください。

一般的な話として、責任ある行動をとってください。そして、よく知らないファイルを変更するようなことはしないでください。編集している内容について確信が持てない場合は、"Documentation" にバグを開き、状況を良く知っている他の貢献者のアドバイスを求めてください。

いくつかのファイル (特に mozilla-org/html/index.htmlmozilla-org/html/news.html) は厳密に管理されています。これらのファイルは変更できません。どうしても変更を施す必要があり、システムに拒絶されてしまう場合は、webmaster@mozilla.org までご連絡ください。

Doctor を用いた Web ベースの CVS アクセス

CVS クライアントを持っていないか、使用できない場合は、Doctor というツールを使ってファイルの作成や更新を 行えます。アクティブな CVS アカウントを持っていれば、 Doctor を使って変更内容を確定できます。もしアカウントを持っていなくても、Doctor を使ってパッチを作成できます。

Doctor を使って既存のページを更新するには、ページ下部にある "Edit this Page" というリンクをクリックするか、Doctor のトップページにあるテキスト欄にページのパスを入力してください。すると、そのページの HTML が編集可能なテキスト欄に表示されます。編集し終わったら、"Review Changes" ボタンをクリックしてください。編集箇所が "diff" 形式で表示されます。CVS アクセスを持っている場合は、そのまま変更をコミットできます。CVS アクセスを持っていない場合は、表示された diff をテキストファイルにコピーして、Bugzilla にパッチとして提供してください。

新しいページを作成する場合は、http://doctor.mozilla.org から行います。

既に CVS を使用しているか、あるいはこれから CVS を使用するつもりの方には、Doctor はお勧めはしません。

Bonsai

bonsai では Web サイトの CVS 履歴を検索できます。

mozilla.org をビルドする

mozilla.org をビルドするには次のものが必要です:

  • CVS (ソースのチェックアウト用)
  • Perl 5
  • Template-Toolkit Perl モジュール (2.13 以降)
  • DateManip Perl モジュール
  • XML-Simple Perl モジュール (トップページのビルド用)
  • GNU make

developer.mozilla.org の XML ファイルで作業しようと考えている場合は、libxslt も必要です。

Unix や Mac OS X でのビルド環境の設定

Unix/Linux を実行しているのなら、どこからパッケージを取って来れば良いかぐらいは知っているはずです。パッケージ名は通常、cvsperl、および make です。Mac を使っている場合、perl は既に入っていますので、Developer Tools CD をインストールすれば cvs および make も手に入ります。

Perl モジュールは次のようなコマンドを使用すれば CPAN からインストールできます:

perl -MCPAN -e "install 'Template'"
perl -MCPAN -e "install 'Date::Manip'"
perl -MCPAN -e "install 'XML::Simple'"

Windows でのビルド環境の設定

適切なツールのインストール方法は、当然のことながら、複数あります。個人的には ActivePerl を使っています (良くまとまった添付資料が付いてきます) が、Cygwin Perl も動作すると聞いています。

  1. Cygwin をインストールします
    1. 改行コードを選択するプロンプトが表示されたら、UNIX スタイルを選択してください。
    2. パッケージ選択のプロンプトが表示されたら、 cvspatch、そして make は必ず選択してインストールしてください(必要に応じて libxslt も選択してください。) ActivePerl ではなく Cygwin から Perl をインストールしたい場合は、perl パッケージも選択してください。
    3. PATH 環境変数に cygwin の bin ディレクトリを追加してください。 マイコンピュータを右クリックして表示されるシステムダイアログ (恒久的な設定ができ、こちらを推奨します) か、コマンドプロンプトで set PATH=C:\path_to_cygwin\bin;%PATH% と入力すると設定できます (コマンドラインでの設定では、そのセッション間のみ有効です)。Date::Manip Perl が正しく動作するように、TZ 環境変数を設定してタイムゾーン (例:PST) も設定してください。
  2. Cygwin で Perl をインストールしなかった場合は、ActivePerl をインストールしましょう。そして PATH 環境にも Perl を追加してください。
  3. Template-Toolkit、DateManip、そして XML-Simple Perl モジュールをインストールします
  4. ActivePerl をインストールしている場合は、ppm をつかってこれらのモジュールをインストールできます:
    1. DOS コマンドプロンプトを起動してください
    2. ppm とタイプして Enter キーを押してください
    3. もしセットアップガイドが表示されたら、それに従ってください。(あまり気にしなくても大丈夫です。)
    4. ppm プロンプトに次のコマンドを入力してください:
      
      ppm>install Template-Toolkit
      ppm>install DateManip
      ppm>install XML-Simple
      ppm>quit
      
    ActivePerl ではなく Cygwin 経由で Perl をインストールした場合は、Unix と同じように CPAN から必要な Perl モジュールを手に入れることができます:
    1. DOS コマンドプロンプトを起動してください
    2. 次のコマンドを入力してください:
      
      >perl -MCPAN -e "install 'Template'"
      >perl -MCPAN -e "install 'Date::Manip'"
      >perl -MCPAN -e "install 'XML::Simple'"
      
      初めてモジュールをインストールすると、Perl が設定作業をガイドしてくれます (ppm の時と同様です)。示されるガイドに従ってください。ただし、あまり気にする必要はありません。

ビルドコマンド

mozilla.org ツリーをビルドするには、mozilla-org ディレクトリへと移動 (cd) して make を実行してください。

make が実行できない場合は、直接 tools/munge.pl を実行してみてください。