新アップデートシステム
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 というファイルがありますが、どうやらこれがアップデートの元になるファイルのようです。
それにしても、tinder-box ビルドでも、これ使えるようにならんかなぁ。:p)
この記事を書いた時点では、mar ファイルの中身は丸ごとであり、更新差分によるものではありませんでした。9月1日あたりにBug 305642 - verify that binary patching for updates works as expected がチェックインされて、本当の更新差分による更新が可能になりました。また、app.update.url も変更されていますので、初期値に戻すことで差分によるアップデートが利用できます。locale を en-US から他のものに変更している場合は注意が必要なのは同様です。
「新アップデートシステム」へコメントをつける
この記事へのツッコミ
- 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