ファイル名規則

author: dynamis
target: staffs

ローカライズセンターで公開する Mozilla 製品の日本語版や JLP のファイル名は mozilla.org の規定するファイル名規則(bug 257117) をベースに、必要な独自項目を追加したものに従っています。ここではそのファイル名規則について解説します。

原則

ローカライズセンターで公開するパッケージのファイル名は mozilla.org のものに合わせることを原則としています。
現在 mozilla.org のファイル名が自身の規定するものに従っていないため多少混乱しておりますが、ローカライズセンターの開発リリースでは全て次に説明するファイル名規則を使用し、公式リリースについては mozilla.org がそのバージョンで採用しているディレクトリ構造およびファイル名に合わせます。
なお、ファイル名規則に従っていない件について MLP スタッフに問い合わせたところ、Firefox や Thunderbird についてはその開発担当者達の判断により公式リリースのみ簡単で短いファイル名とされているとのことです。英語版の Mozilla Suite については単にビルドスクリプトのコードを誰も修正していないために旧ファイル名規則のままリリースされているということです。残念ながら英語版の Mozilla Suite だけは旧ファイル名規則のまま放置されるようです。(^^;

詳細

ローカライズセンターで公開するパッケージに使用するファイル名規則は次のようになります。但しテスト用のファイルや修正パッチ、あるいは独自に用意しているツールなどについてはこの限りではありません。

appname-version[-buildid].langcode.platform[-special][.type][-contributor][-revision][.misc].extension

ドットやハイフンが何を区切っているのかなどの規則性がやや不明瞭ですが、バージョン番号の中で使用されているのを例外として、ドット区切りの基本構成単位をハイフンで更に細かく分けるという感じです。多分。(^^;

appname

appname ではアプリケーションの名前を小文字だけで表記します。この中にドットやハイフンを含めてはなりません。

  • firefox
  • thunderbird
  • mozilla
  • seamonkey
  • xulrunner
  • sunbird
  • venkman
  • inspector
  • Firefox (大文字不可)
version

バージョン番号はドット区切りで表現されます。各部分は 1 つ以上の数字で始まる必要があります。なお、通例 Mozilla 製品のバージョン番号は 4 つの部分からなり、それぞれ次のようになっています。

major.minor[.micro[.build]][stage]

  • 1.0
  • 1.0PR
  • 1.7.5
  • 1.8a
  • 1.8a5
  • 0.9.24b.7
  • 1.5.a (数字で始まっていない)
buildid

これはローカライズセンターの独自項目です。
言語パックなどを除くすべての Nightly 対応開発リリースと多くの公式リリース候補に付加します。ビルドは一日に複数回作成されることもあるため、ビルド日付ではなく、一律ビルドID を付加します。

  • -1982030303
  • -2005031323
  • -2010010100
  • -19820303 (日付のみは廃止)
  • .1982030303 (ドットでなくハイフン)
langcode

langcode は言語コード国コードの 2 つの部分からなります。これは rfc 2070 で規定されているものになります。複数の言語リソースを含むパッケージについてはこれは省略されるというのが mozilla.org のファイル名規則ですが、英語と日本語だけを含めているパッケージについてはそれと分かり易いように en-US+ja のように表すことがあります。
Firefox/Thunderbird 1.0.x の Mac OS X 用言語リソースでは、rfc には違反しますが諸般の事情により国コード部に JPM を使用していました。Firefox/Thunderbird 1.5 以降では rfc 3066 の dialect を用いて ja-JP-mac とすることになりました。

  • ja
  • ja-JP-mac
  • en-US
  • fr
  • en-US+ja
  • ja-JP
  • ja-JPM
  • fr-FR
  • chr-US
platform

バイナリパッケージが依存するオペレーティングシステム、プロセッサー、ツールキットなどを表します。プラットフォームに依存しないパッケージではこのフィールドは省略します。通常、このフィールドは autoconf で $(TARGET_OS)-$(TARGET_CPU) として取得する値になりますが、一部の値は規定であるとして省略されます。

  1. Windows プラットフォームのパッケージは "win32" とします。 64ビット Windows では "win64" となる予定(?)
  2. Macintosh (OSX) プラットフォームのパッケージでは "mac" とします。
  3. "linux-gnu" は単に "linux" とだけ表記します。
special

ライブラリなどが非標準のビルドについてはそれを special として付記します。

  1. Linux プラットフォームでは GTK2 が標準のツールキットです。 GTK 用のバイナリビルドでは "-gtk1" と明記します。
  2. 以前の標準ビルドでは SVG は無効となっていました。 SVG を有効にしたビルドではそれを区別できるよう -svg-cairo, -svg-libart または -svg-gdiplus を付記していました。
  • win32
  • mac
  • linux-i386
  • win32-svg-gdiplus
  • mac-svg-cairo
  • linux-i686-gtk1
  • linux-i386-gtk1-svg-libart
type

パッケージ種別を表します。バイナリのアーカイブパッケージについてはこれを省略します。

  • installer
  • langpack
  • src
contributor

これはローカライズセンターの独自項目です。
各パッケージの主担当者以外が作った貢献リリースについては、貢献者の名前を英数小文字で入れています。

  • -asa
  • -bsmedberg
  • -dynamis
  • -rebron
revision

これはローカライズセンターの独自項目です。
mozilla.org による同一ビルドに対応する多数の開発リリースなどを用意するため、それを区別するためのリビジョンを最後に付記します。表記規則としては version と同様に最大 4 つの部分からなります。
Firefox/Thunderbird の言語パックではすべてのリリースを通して一意の番号としています。
Firefox/Thunderbird 1.0.x では 4 つの部分のうち JLP のリビジョンに通常 3 つを使用し、最後の部分は同一 JLP に対して複数のパッケージを作成する場合や非標準パッケージを作成するときなどに使用していました。

  • -1
  • -3
  • -1.0rc7
  • -1.0.3
  • -0.7.7
  • -0.6.10
misc

これもローカライズセンターの独自項目です。
同一 revision に対して試験的に設定や構成の異なる複数のパッケージを作成する場合などに、ローカライズセンターで独自に作成した特別なパッケージを区別できるようにします。
英数字だけであれば任意の文字列を使用できますが、これ以外の部分で表現できる場合には使わないでください。例えば fix, fix2... は公式リリースを修正して再リリースした際に明確に区別がつくように付加したもので、通常は単に revision 番号を上げます。

  • test (試験的と強調)
  • fix (修正版と強調)
  • fix2 (更なる修正版と強調)
  • nordf (RDF ファイル無し)
  • noinspector (DOM Inspector 無し)
  • withvenkman (Venkman 同梱)
  • release (今後使用禁止)
extension

ファイル種別を表す拡張子。拡張子だけが異なるパッケージは圧縮方式以外は同一のパッケージになります。

  • firefox-1.0PR.en-US.linux-i386.tar.gz
  • firefox-1.0PR.en-US.linux-i386.tar.bz2
  • firefox-1.0PR.en-US.linux-i386.7z

これらは全て同一のパッケージになります。

注意

開発リリースの名前規則はかなり複雑になっていますので、注意が必要です。以下、注意点を箇条書きします。

  • Firefox/Thunderbird 1.0.6 および Mozilla Suite 1.7.11 以前にはこのファイル名規則に従っていないものが多数あるため、それらは参考になりません。必ずこのページの用例を参考にし、不明な点は事後でも良いので L10N ML で問い合わせてください。
  • 言語パックなどを除く Nightly 対応開発リリースには buildid が必須です。リリース候補と指定された Nightly に対して作成する場合であっても付加します。これによりファイル名が非常に長くなりますが、ベースとなるビルドを明らかにするために必要です。
  • 先に en-US の Final リリースが出てから、それをベースに日本語版の公式リリース候補として作成する場合については、公式リリース候補と強調するために buildid を省略しても構いませんが、リリース候補についてビルド ID を省略するかどうかは製品毎に統一してください。テスト用の特殊なパッケージなどは Final リリースをベースにしている場合でも必ず buildid を付加します。
  • buildid は当初日付までの 8 桁だけとしていましたが、同日中に複数のビルドが作成されることも少なくないため、必ず時刻を含めた 10 桁のビルド ID を使います。
  • revision は必須ではありませんが、複数のパッケージを繰り返し作成する可能性が高い時は最初から -1 などを付加してください。
  • revision の決め方については、全リリースに対して一意につけても、対象バージョン毎に一意につけても構いません。製品毎に一定の規則に従って番号付けを行ってください。
  • misc は特別な修正を施した試験的バージョンなど、明確な意図がある場合にのみ使用してください。設定やファイル構成が異なるもの同時に複数作ってテストする場合などにはこれを使用しますが、単にミスを修正して更新した場合は revision を上げます。
  • ファイル名だけでは Trunk 対応版であるか Branch 対応版であるかは明確にならない期間がありますが、それは mozilla.org 同様パッケージを収めるディレクトリによって区別します。ファイル名に aviary, branch や trunk などといった文字列を含めることはしません。

用例

公式リリースと開発リリースそれぞれのパッケージの正しいファイル名の例です。既存のファイルにはこのファイル名規則に従っていないものが多数ありますので、既存ファイルではなくこれらの(殆どが架空の)用例を参考にしてください。

Firefox 1.0.x Relesease

Firefox 1.0.x 公式リリースのファイル名 (例外)

  • Firefox Setup 1.0.5.exe
  • firefox-1.0.5.tar.gz
  • firefox-1.0.5.installer.tar.gz
  • Firefox 1.0.5.dmg
  • ja-JP.xpi
  • ja-JPM.xpi
Thunderbird 1.0.x Relesease

Thunderbird 1.0.x 公式リリースのファイル名 (例外)

  • Thunderbird Setup 1.0.6.exe
  • thunderbird-1.0.6.tar.gz
  • Thunderbird 1.0.6.dmg
  • ja-JP.xpi
  • ja-JPM.xpi
Mozilla Suite 1.7.x Relesease

Mozilla Suite 1.7.x 公式リリースのファイル名

  • mozilla-1.7.9.ja-JP.win32.installer.exe
  • mozilla-1.7.9.ja-JP.win32.zip
  • mozilla-1.7.9.ja-JP.linux-i686-gtk1.tar.gz
  • mozilla-1.7.9.ja-JP.linux-i686.tar.gz
  • mozilla-1.7.9.ja-JP.linux-i686.installer.tar.gz
  • mozilla-1.7.9.ja-JP.mac.dmg
  • mozilla-1.7.9.ja-JP.langpack.xpi
Firefox 1.5.x Relesease

Firefox 1.5.x 公式リリースのファイル名

  • 未定
Thunderbird 1.5.x Relesease

Thunderbird 1.5.x 公式リリースのファイル名

  • 未定
Firefox Devlopment Relesease

Firefox 開発リリースのファイル名

  • firefox-1.0.5-2005071119.ja-JP.win32.installer.exe
  • firefox-1.0.1.ja-JP.langpack-0.8.10.xpi
  • firefox-1.0.1.ja-JPM.langpack-0.8.10.xpi
  • firefox-1.0+.ja.langpack-1.0.3.xpi
  • firefox-1.0+.ja.langpack-1.0.3.1.xpi
  • firefox-1.0+.ja.langpack-1.0.4-noinspector.xpi
  • firefox-1.0+.ja.langpack-1.0.5-withvenkman.xpi
  • firefox-1.0+.ja-JP-mac.langpack-1.0.5.xpi
Thunderbird Devlopment Relesease

Thunderbird 開発リリースのファイル名

  • thunderbird-1.0.6-2005071616.ja-JP.win32.installer.exe
  • thunderbird-1.0.6-2005071604.ja-JP.linux-i686.tar.gz
  • thunderbird-1.0.6-2005071604.ja-JP.linux-i686-test.tar.gz
  • thunderbird-1.0.6-2005071605.ja-JPM.mac.dmg
  • thunderbird-1.0.2.ja-JP.langpack-0.6.10.1.xpi
  • thunderbird-1.0.2.ja-JPM.langpack-0.6.10.1.xpi
  • thunderbird-1.0+.ja.langpack-1.0.3.xpi
  • thunderbird-1.0+.ja-JP-mac.langpack-1.0.3.xpi
Mozills Suite Devlopment Relesease

Mozilla Suite 開発リリースのファイル名

  • mozilla-1.7.9.ja-JP.win32.installer.exe
  • mozilla-1.7.9.ja-JP.win32.installer-1.exe
  • mozilla-1.7.9.ja-JP.win32.zip
  • mozilla-1.7.9.ja-JP.win32-2.zip
  • mozilla-1.7.9.ja-JP.linux-i686.installer.tar.gz
  • mozilla-1.7.9.ja-JP.linux-i686.installer-3.tar.gz
  • mozilla-1.7.9.ja-JP.mac.dmg
  • mozilla-1.7.9.ja-JP.mac-4.dmg
  • mozilla-1.7.9-2005030300.ja-JP.win32.installer.exe
  • mozilla-1.7.9-2005030301.ja-JP.win32.zip
  • mozilla-1.7.9-2005030302.ja-JP.linux-i686-gtk1.tar.gz
  • mozilla-1.7.9-2005030304.ja-JP.linux-i686.tar.gz
  • mozilla-1.7.9-2005030308.ja-JP.linux-i686.installer.tar.gz
  • mozilla-1.7.9-2005030316.ja-JP.mac.dmg
  • mozilla-1.7.9.ja-JP.langpack-1.xpi
  • mozilla-1.7.9.ja-JP.langpack-3.xpi
  • mozilla-1.7.9.ja-JP.langpack-dynamis-3.1.xpi
Other Products and Tools

その他のファイル名

  • lot-1.0.zip
  • lot-1.0rc7.2005081506.zip
  • venkman-0.9.85.ja.xpi
  • venkman-0.9.85.en-US+ja.xpi
  • sunbird-0.2+-2005060708.ja.win32.zip
  • sunbird-0.2+-2005060708.ja.linux-i686.tar.gz
  • xulrunner-1.9a1-2005080910.ja.win32.zip
  • xulrunner-1.9a1-2005080910.ja.linux-i686.tar.gz
  • seamonkey-1.0a-2005080706.ja.win32.installer.exe
  • seamonkey-1.0a-2005080706.ja.linux-i686.tar.gz