Package Filename Convention

Package File-naming Convention for XUL Toolkit Applications

originally by Benjamin Smedberg <>, adjusted by Robert kaiser <>

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




Appname is lowercase, with no hyphens or dots:

  • firefox
  • thunderbird
  • seamonkey
  • sunbird
  • inspector


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 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.


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


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


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