朝顔日記

新アップデートシステム

2005-07-06

Mozilla Quality: deer park nighly build update system testing でアナウンスがありましたが、Deer Park(次期 Firefox 1.1 のコード名)のナイトリービルドに搭載された新しいソフトウェアアップデートの機能がテストできるようになりました。やり方は、上記リンク先に書いてありますが、簡単に説明してみましょう。

まずは、7月2日以降の windows 版、もしくは linux 版を用意します。ロケーションバーに、about:config と打ち込み、Filter の欄に、app.update.url と入力します。デフォルトで入っている URL を以下のものに書き換えます。

https://aus-staging.mozilla.org:8711/update2/0/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/update.xml

これで、ヘルプメニュー以下にある、Check for Updates で更新ができるようになります。今のところ、サイトの証明をチェックするところでセキュリティエラーが出ていますが。

とりあえず、かまわず OK してみると(ぉ、新しい更新の利用が可能な旨、通知してくれるようになりました。

あとは、画面の指示どおりに操作していくと、アップデートが完了したので、再起動を促すダイアログが表示され、指示に従うと Firefox は終了して、自動で再起動してくれます。再起動後は新しい Firefox になっているという仕組みです。

以下、はまったところ。実ははじめは私の環境ではうまくアップデートできませんでした。何でだろうと悩むことしばし。上記 app.update.url に入れる値を間違えているのかしらんと確認していたら、%LOCALE% なる文字列があることに気が付きました。私は、general.useragent.locale を ja-JP に設定しているのでどうもこれが原因のようです。ナイトリーには en-US のものしかないので、ja-JP なものを探しにいっても見つからなかったというわけです。というわけで試しに、general.useragent.locale を en-US にして再起動。無事アップデートすることが出来ました。

しかし、このままでは、常時 general.useragent.locale で使わなくてはいけないので、先の app.update.url を以下のように書き換えることにしました。

https://aus-staging.mozilla.org:8711/update2/0/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/en-US/update.xml

en-US のものを探しに行くように決め打ちにしたわけです。というわけでこれで general.useragent.locale を ja-JP にしていても、en-US なアップデートを探しにいってくれるようになりました。一応7月2日のビルドまで戻って、この方法で7月5日版にアップデートが可能なことを確認しました。

ところで、この新しいソフトウェア更新の仕組みでは、バイナリを丸ごとダウンロードしてくるのではなく、差分のみを持ってきているようです。Index of /pub/mozilla.org/firefox/nightly/latest-trunk などを覗くと、*.mar というファイルがありますが、どうやらこれがアップデートの元になるファイルのようです。

参考
Software Update:MAR - wiki.mozilla.org
MAR

それにしても、tinder-box ビルドでも、これ使えるようにならんかなぁ。:p)

この記事を書いた時点では、mar ファイルの中身は丸ごとであり、更新差分によるものではありませんでした。9月1日あたりにBug 305642 - verify that binary patching for updates works as expected がチェックインされて、本当の更新差分による更新が可能になりました。また、app.update.url も変更されていますので、初期値に戻すことで差分によるアップデートが利用できます。locale を en-US から他のものに変更している場合は注意が必要なのは同様です。

参考
Mozilla QA Community:Software Update - wiki.mozilla.org

「新アップデートシステム」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事へのツッコミ

1: ぷれみあ (2005-09-01T10:41:23+09:00) premier.jp@gmail.com
はじめまして。
Thunderbird の branch,trunk 版なんですが、8月25日あたりから記事のapp.update.url で自動アップデートができなくなったようです。
テスター募集の記事を見ても何かしら変更があったのかわかりません。
Firefox では同じ app.update.url で現在も自動アップデートできていますので余計に悩んでいます。
もし原因なり、情報をご存知でしたら教えていただけないでしょうか。
厚かましい内容ですがよろしくお願いします。
2: のり (2005-09-01T11:17:24+09:00)
こんにちは。
Thunderbird は使っていないのですが、app.update.url を初期値にリセットすればいけるのではないでしょうか。もし、日本語版をお使いなら、初期値のロケールのみ、en-US に替えるのかな。
http://wiki.mozilla.org/Mozilla_QA_Community:Software_Update
をご覧ください。
Firefox ではそれに戻すことで手動では update できています。自動でできないといけないと思うのですが、私の環境ではまだそれは出来ていません。
3: ぷれみあ (2005-09-01T13:51:49+09:00) premier.jp@gmail.com
ありがとうございます。
ご指摘の方法も試しました。ご紹介いただいたページもそれなりに読みました。(笑)
Mozilla Quality も参照しました。
しかし、どの URL でもうまくいきませんでした。
8月25日以前のビルドだと自動アップデートするのでそのあたりに何かヒントがあるのかと思っています。
日本語のフォーラムで聞いてます。
お手数おかけしました。
4: ぷれみあ (2005-09-01T16:20:00+09:00)
解決しました!
JLP と本体(英語版)のリソースが不一致だったようで本体のロケールを en-US にしたら、あっさりアップデートしてくれました。
どうもお騒がせしました。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/07/diary_050706a.html