--- title: Building a Mozilla Distribution slug: orphaned/Building_a_Mozilla_Distribution tags: - Build documentation - Developing Mozilla original_slug: Building_a_Mozilla_Distribution ---

ここでは、どうやって独自のマイルストーンビルドまたは他のディストリビューションを作るのかを説明します。独自のディストリビューシュンを作成したいというのは以下のような場合が考えられます。我々の ftp サイトに通常は置かれていないプラットフォーム用のビルドを作りたいとか、標準のビルドではサポートされていない機能を有効にしたい、などです。

  1. 専用のマイルストーンソースの tar ボールをダウンロードし、自分用の通常のツリーからではなく、その tar ボールからビルドしてください。もし tar ボールがみつからない場合には、マイルストーンディレクトリの README ファイルに CVS でどうやって適切なソースを持ってくることができるかが書いてあります。必ず正しい タグ を持ってくるようにしてください。例えば次のようにします。
    cvs co -r MOZILLA_1_0_2_RELEASE mozilla/client.mk
    cd mozilla
    gmake -f client.mk checkout
    
  2. ビルドオプションを次のように設定します:デバッグシンボルを無効にする、コードを最適化する、ビルドの日付 (Bugzilla で使っているもの) を設定する、その他については適宜選択してください。
  3. 作成したビルドの動作確認テストをしてください。この際、アプリケーションの右端の下あたりにある BuildID を必ずメモしてください。 BuildID は 2001102513 のようなもので、パッケージをビルドした日時を表しています。
  4. README ファイルを作り、以下のような項目についてできる限り記述してください。
  5. tar ボールをどこかに公開し、こちらに連絡をください。そうすれば私達が tar ボールを ftp サイトに移します。 さらに、tar ボール用の md5 checksum ファイルを作っておくとよ いでしょう。作成した md5sum ファイルに電子署名をしておくと さらによいでしょう。
    md5sum mozilla-i686-pc-linux-gnu-0.9.5.tar.gz
           > mozilla-i686-pc-linux-gnu-0.9.5.tar.gz.md5sum
    

ディストリビューションを作成する

ビルド方法Unix Build Configurator の使い方に慣れておくと、mozconfig ファイルの作成に役立ちます。

ソースをダウンロードしてください

最新のマイルストーンソースの tar ボールを ダウンロード してください。または、最新のマイルストーンの README ファイルに書いてある方法に従って、CVS から tag でもってきてください。(独自のツリーでコードからディストリビューションを作成した場合には、おそらく、最初に gmake -f client.mk distclean をする必要があります。)

ビルド環境を設定してください

tar ボールから作成されたツリーにファイルを作り mozilla/.mozconfig としてください。以下にあげるようなオプションを付けるとディストリビューションのサイズを小さくすることができます。<tt>--disable-debug</tt> オプションはとても重要です。これを指定しないとパッケージが 50MB あるいはそれ以上になってしまいます。パッケージのサイズは通常 10MB くらいです。<tt>--enable-optimize</tt> オプションを付けるとコンパイラは最適化されたバイナリを作成します。オフィシャルビルドでは有効になっていない SVG などの他のオプションは適宜選択してください。

ビルドしているバイナリがさまざまなシステムに配布される予定であったり、実行時にリンクする共通ライブラリと全く同一のライブラリ一式がビルドしているバイナリに含まれていない場合には、Mozilla の zlib や jpeg のライブラリをビルドして配布するようにするといいでしょう。

ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-optimize
ac_add_options --without-system-nspr
ac_add_options --without-system-zlib
ac_add_options --without-system-jpeg
ac_add_options --without-system-png
ac_add_options --without-system-mng
ac_add_options --enable-crypto #PSM/SSL のサポートを無効にするにはこの行をコメントアウトする

以下の環境変数を設定してください。ビルドの日付が正確になります。

Unix または Mac OS X の場合:

MOZILLA_OFFICIAL=1
export MOZILLA_OFFICIAL
BUILD_OFFICIAL=1
export BUILD_OFFICIAL

Win32 の場合:

set MOZILLA_OFFICIAL=1
set BUILD_OFFICIAL=1

ツリーをビルドしてください

普段使う build コマンドは、マイルストーンビルドをコンパイルするのに決して使わないでください。CVS アップデートをしたいわけではないのです。ツリーと同期をとってしまうと最新版からビルドしていることになり、マイルストーンビルドではなくなってしまいます。

gmake -f client.mk build

README ファイルを添えてください

README ファイルを mozilla/dist/bin にコピーしてください。こうすれば、次のステップで作成される tar ボールに README ファイルが含まれるようになります。ldd のある UNIX の場合には、以下のコマンドを実行し UNIX ビルド用の依存関係一覧を作成してください。

ldd mozilla-bin components/*.so | awk '{ if (/=/ && !/not found/ ) print $3 }' | sort | uniq

If using tcsh, you may need to escape the ! .

パッケージを作成してください

tar ボール( または zip や dmg) を作るには

packager ディレクトリにある makefile でパッケージのディレクトリに tar ボールを作成します。パッケージは mozilla/dist に配置されます。

OS/2 と Win32 用のビルドの場合、デフォルトのパッケージタイプは zip です。Mac OS X 用の場合、デフォルトのパッケージタイプは dmg です。その他のビルドの場合には、デフォルトのタイプは tar.gz です。

gmake -C mozilla/xpinstall/packager
UNIX のインストーラを作るには

UNIX インストーラをビルドするには、カレントディレクトリを xpinstall builder に変更し perl スクリプトを実行してください。すると mozilla/installermozilla-$platform$-installer.exe が作成されます。

cd mozilla/xpinstall/packager/unix/
perl deliver.pl <version> <urlpath> <stubname> <blobname>
</blobname></stubname></urlpath></version>
Win32 のインストーラを作るには

以下のものが必要になります:

Win32 インストーラをビルドするには、カレントディレクトリを xpinstall builder に変更し perl のスクリプトを実行してください。すると mozilla\dist\installmozilla-win32-installer.exe が作成されます。

cd mozilla\xpinstall\wizard\windows\builder
perl build.pl

テスト

パッケージの動作確認テストをしてください。スモークテスト はこのテストのために設計されています。

配布

tar ボールをどこかに公開し、こちらに連絡をください。そうすれば私達が tar ボールを ftp サイトに移します。連絡してほしい項目は、BuildID およびビルド環境について有益だと思われることなんでもです。例えば、OS のバージョン、ディストリビューションの名前、含まれているオプションコンポーネント、または、非標準のコンパイラを使ったかどうか、などです。

各パッケージには必ず README ファイルを添 えてください。

原文書の情報

{{ languages( { "en": "en/Building_a_Mozilla_Distribution" } ) }}