2011年10月1日土曜日

firefox7.0を自前ビルドする

…あれ?もうfirefox7.0?
高速リリースサイクルとはいえ6週間早すぎ(笑

いちいちソースアーカイブをとってからビルドするのも
面倒な気がしてきたので、バージョン管理システムを
利用したやり方で今回はビルドしてみた。

6.0でも少し触れていたけども、mozillaのソースコード管理は
今はmercurialというソフトで行われており、cvsやgitと同じような
コマンドで操作できます。

コマンドラインで操作する場合は
 mercurial mercurial-common

GUIで操作したい場合は
 tortoisehg

をインストールします。

◯firefox(release)のソース取得

firefoxの開発ブランチは
Nightly→Aurora→Beta→Release
と4つに分かれており、安定版はReleaseとなります。

今回はこのReleaseを使ってビルドしていきます。

・開発クローンの取得
$ hg clone \
  http://hg.mozilla.org/releases/mozilla-release/ firefox-release


firefox-release以下にtarボールと同じようなソースが
コピーされます。

$ cd firefox-release 
$ hg tags

とするとタグとリビジョン番号の対応が確認できます。
もし特定のバージョンにロールバックしたい場合等はこれを
参照してリビジョン番号を指定して変更できます。

クローンの際や更新の場合には最新版を示すtipタグの
リビジョンで保存されます。


◯日本語パッケージの取得
日本語パッケージもhgで管理されてます。今回は公式の
l10n/releaseから取得したものを使いました。

$ hg clone \
 http://hg.mozilla.org/releases/l10n/mozilla-release/ja/ l10n/ja_JP

こちらもほぼ同様です。.mozconfigにランゲージパックのパスを
間違わずに設定して下さい。

◯ツールの追加

yasm-1.1.0以上なのは前回と同様で、
今回はtarボールではなくmercurialから直接DLしてきているので、
Makefileの作成のためにautoconf/automakeが必要になります。
デフォルトのautoconfではなく、autoconf2.13
明示的に必要なので注意して下さい。


あとは以前と同じようにビルド・アーカイブ化するだけです。
tagsとかをよく見てみると…
バージョン7.0.1 (笑)

というわけでhgで最新版を取得すると7.0.1になりました。
7.0.0にしたい場合はリビジョン指定して変更して下さい。

0 件のコメント:

コメントを投稿