Package File-naming Convention for XUL Toolkit Applications
originally by Benjamin Smedberg <email@example.com>, adjusted by Robert kaiser <firstname.lastname@example.org>
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.
Appname is lowercase, with no hyphens or dots:
Version is a series of dot-separated version parts, each beginning with at least one numeral:
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:
- 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);
- the platform of Macintosh (OSX) packages is "mac";
- "linux-gnu" is shortened to linux.
Special is used to distinguish non-default characteristics of the build:
- GTK2 is the default toolkit on linux platforms. If a GTK binary is built, "-gtk1" is appended to the platform;
- 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.
The kind of package being distributed. If the package is a binary tarball/zip build, the type is omitted. Other "type" possibilities are:
File-specific extension. Packages which differ only by extension are the same, except for the compression method:
are all the same package.