mozilla

Package Filename Convention

Package File-naming Convention for XUL Toolkit Applications

originally by Benjamin Smedberg <benjamin@smedbergs.us>, adjusted by Robert kaiser <kairo@kairo.at>

The following convention will be used for XUL Toolkit applications distributed by mozilla.org, and is used internally by package-name.mk, as well as for files distributed by the MLP and the SeaMonkey project.

Convention

<var>appname</var>-<var>version</var>.<var>langcode</var>.<var>platform</var>[-<var>special</var>][.<var>type</var>].<var>extension</var>

Appname

Appname is lowercase, with no hyphens or dots:

  • firefox
  • thunderbird
  • seamonkey
  • sunbird
  • inspector

Version

Version is a series of dot-separated version parts, each beginning with at least one numeral:

  • 0.1
  • 1.4.2
  • 0.9PR
  • 0.9.24b.7
  • 1.8a
  • 1.8a4

Langcode

Langcode is a locale code, basically as specified in the "language tag" RFC 3066. If a source tarball or extension contains multiple locales, this field is omitted:

  • en-US
  • de
  • es-ES
  • ast
  • roa-IT-vec

Platform [-special]

The platform identifies the operating system/processor/toolkit for a binary package. For package types that are platform-independent, this field is omitted. Normally, this field is $(TARGET_OS)-$(TARGET_CPU) variables from autoconf. However, there are some exceptions to make files more readable:

  1. The platform of Windows packages is "win32" (or "win64", need help here if we actually ever distribute win64 packages, as there are multiple kinds of win64);
  2. the platform of Macintosh (OSX) packages is "mac";
  3. "linux-gnu" is shortened to linux.

Special is used to distinguish non-default characteristics of the build:

  1. GTK2 is the default toolkit on linux platforms. If a GTK binary is built, "-gtk1" is appended to the platform;
  2. for distiction to other builds, other non-default build options should be specified there in short but meaningful identifiers, e.g. builds including a patch for the MNG image format should specify -mng, or windows builds compiled with gcc instead of MSVC may specify -gcc here.

Examples:

  • linux-i686
  • mac
  • win32-gcc
  • linux-i386-gtk1-mng

Type

The kind of package being distributed. If the package is a binary tarball/zip build, the type is omitted. Other "type" possibilities are:

  • installer
  • langpack
  • src

Extension

File-specific extension. Packages which differ only by extension are the same, except for the compression method:

  • 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

are all the same package.

Interwiki Language Links

Document Tags and Contributors

Contributors to this page: Nickolay, KaiRo, FredChat1
Last updated by: FredChat1,