Harmattan Appendix to the Debian Policy Manual
MeeGo 1.2 Harmattan platform uses Debian packages to install additional software. Most of the Debian Policy for packages applies to Harmattan unchanged; the differences are described in this section.
User visible packages
The Package Manager only shows packages that are marked to be user visible. This has been done to hide the existence of the hundreds of system packages that make up the operating system itself. The invisible packages are still managed by the Package Manager, but only indirectly through dependencies, and so on.
To mark a package as user visible, use the visible
flag:
XB-Maemo-Flags: visible
See below about details of additional fields like Maemo-Flags
.
Additional control fields
The Harmattan package manager can make use of some additional fields in the control fields of a package. These fields generally start with a Maemo-
or MeeGo-
prefix.
To get these fields into your .deb files, include them with a XB-
prefix in your debian/control
file. See the Debian Policy Manual, section 5.7.
If you are using a tool that creates the source packages for you, see the documentation of that tool for how to include these fields into the package.
Pretty names
A package can have a pretty name. This name is displayed in the UI instead of the real package name.
You can specify the pretty name with the Maemo-Display-Name
field.
Upgrade descriptions
Note: Nokia Store does not currently support upgrade descriptions for Harmattan applications.
A package can have a separate description to be used when a upgrade for it is displayed. This description explains what is new in this version of the package.
You can specify the upgrade description with the Maemo-Upgrade-Description
field. It is formatted like the normal Description
field.
Localised names and descriptions
The Maemo-Display-Name
, Description
, and Maemo-Upgrade-Description
fields can be provided in more than one language.
When the current locale is LOC (for example, "de_DE"), the Package Manager first tries Description-LOC
to find the short and long descriptions of a package, and falls back to Description
when that field does not exist. Like the rest of the control file, the values for these fields must be encoded in UTF-8.
Icons
A package can have an icon that is displayed next to its name by the Package Manager. Icons are included in the control information of a package as a base64 encoded field named Maemo-Icon-26.
The image format of the icon must be PNG and the maximum dimensions for the icon are 64 x 64 pixels, which is the recommended native size. The minimum dimensions for the icon are 26 x 26 pixels.
Flags
A package can specify certain flags, using the Maemo-Flags
field.
The value of the Maemo-Flags
field must be a comma separated list of one or more words. The following value is allowed:
visible
- The package is visible in the Package Manager UI. See above "User visible packages" for more information about this.
MeeGo-Desktop-Entry-Filename
The value is the filename of the Desktop Entry of this package. It can either be a absolute filename or relative to /usr/share/applications
. The ".desktop" extension can be omitted, too.
If you want your application entry in the launcher to be reliably integrated with the Package Manager, you need to specify this field, even if the name of your desktop entry file is the same as your package name.
Examples:
MeeGo-Desktop-Entry-Filename: calc MeeGo-Desktop-Entry-Filename: /usr/share/meegotouch/applicationextensions/calc.desktop
MeeGo-Desktop-Entry
The value is a Desktop Entry content, encoded like the Description
field. This value is used when creating Desktop Entries for this package before the package is installed, for example to show download progress in the launcher. It must contain everything that is necessary to correctly display the entry in the launcher, but does not need to contain anything else, such as how to actually launch the application.
Empty lines at the start of the value are removed. Example:
MeeGo-Desktop-Entry: [Desktop Entry] Type=Application Name=Calculator Icon=icon-l-calculator
Note the extra space at the beginning of each line.
If this field is omitted, it defaults to something minimal but useful, such as
[Desktop Entry] Type=Application
In both cases, the Name field can be omitted. If omitted, the Name is filled in based on the Maemo-Display-Name
field.