MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

List of path name exceptions

On the MeeGo 1.2 Harmattan platform, most package files for running an application are stored under the /opt/<package_name> subdirectory. However, there are some exceptions to this convention. The following table presents the file types that need to be installed in a common place, such as .desktop or .service files. The rules on file installation are strict because if two packages use the same path and file name, the package installation can fail.

Note: If your application stores files to any other location than described in this section, it is possible that Nokia Store QA rejects your application. If you notice that the path name exception list lacks a directory that should be there, please let us know. If you think that your application has been wrongly rejected, contact the Nokia Store QA.

The template provided by the SDK automatically includes the following files in the correct directories:

  • Desktop file
  • Documentation files, such as the copyright file
  • Launcher icon file

You do not normally need to modify the locations of these files manually. However, you can edit the desktop file or add icon files, for example.

Path name exceptions

In the following table <PN> is packagename[_Signifier]. You can use upper and lower case characters in the packagename and in the optional Signifier, and the Signifier may include numbers as well, for example, MyApplication_123.

The symbol ** signifies that the directory can contain files or subdirectories.

Path name exceptions
File Path/file name Description
Accounts related files /usr/share/accounts/providers/<PN>.provider
/usr/share/accounts/services/<PN>.service
/usr/lib/AccountSetup/<PN>plugin
/usr/lib/AccountSetup/bin/<PN>plugin
Backup /usr/share/backup-framework/applications/<PN>.conf Backup information
Content actions /usr/share/contentaction/<PN>.xml Content action descriptions
Context kit providers /usr/share/contextkit/providers/<PN>.context Context kit providers
Context kit types /usr/share/contextkit/types/<PN>.types Context kit types
Control panel applets /usr/lib/duicontrolpanel/applets/lib<PN>.so For more information, see Example of managing settings with Control Panel Applets.
/usr/lib/duicontrolpanel/<PN>.desktop
D-Bus service /usr/share/dbus-1/services/<PN>.service Service file for D-Bus
Desktop /usr/share/applications/<PN>.desktop Desktop file that describes the application

Note: Qt Creator templates use the naming convention <project name>_harmattan.desktop for Harmattan desktop files and <project name>.desktop for Fremantle desktop files. By default, <project name> is the same as package name.

Documentation /usr/share/doc/<PN>/** All files and subdirectories following this path are allowed. The directory contains, for example, the changelog and copyright files generated by the SDK)
GConf schemas /usr/share/gconf/schemas/<PN>.schemas Schema files used, for example, for application settings
GStreamer plugins /usr/lib/gstreamer-0.10/lib<PN>.so GStreamer plugins
Instant messaging plugins /usr/lib/meego-im-plugins/<PN>/** Instant messaging plugins, .so is Qt-based, ** is QML-based
/usr/lib/meego-im-plugins/<PN>.so
Launcher icons /usr/share/icons/hicolor/<resolution>/apps/<PN>.* The <resolution> path component is for example 80x80, which is the recommended size for application icons. The preferred format is PNG. For other icons, different resolutions and formats are allowed.
Localisation /usr/share/l10n/meegotouch/<PN>.qm Localisation files
/usr/share/l10n/meegotouch/<PN>_<locale>.qm
MIME info /usr/share/mime/packages/<PN> Shared mime information
Notification event type /usr/share/meegotouch/notifications/eventtypes/x-<PN>.<class>.<specific>.conf Notification event type definitions
Resource Policy Framework configuration file /usr/share/policy/etc/syspart.conf.d/<PN>.conf For more information, see Selecting the resource application class.
office-tools plugins /usr/lib/office-tools/plugins/<PN>.so Documents plugins
Other icons /usr/share/themes/<theme>/meegotouch/icons/icon-<size>-<PN>.* Icon size in the <size> field is either s, m or l. <theme> is usually blanco.

Note: Icons can also be stored in /opt/<PN> and referred to by their full path name, or by using Qt resource framework (qrc).

Settings declarative applets /usr/share/duicontrolpanel/uidescriptions/<PN>.xml Declarative Settings applet page descriptions
Settings desktop files /usr/share/duicontrolpanel/desktops/<PN>.desktop Desktop file for application settings page
Sharing plugins /usr/lib/share-ui/plugins/<PN>.so
Single Sign-On plugin /usr/lib/signon/lib<PN>plugin.so
Sync-fw client profile /etc/sync/profiles/client/<PN>.xml Synchronisation framework client profiles
Sync-fw plugins /usr/lib/sync/lib<PN>-client.so Synchronisation framework plugins
Sync-fw service profile /etc/sync/profiles/service/<PN>.xml Synchronisation framework service profiles
Sync-fw sync profile /etc/sync/profiles/sync/<PN>.xml Synchronisation framework profiles
Theme files /usr/share/themes/<PN>/** Files used for extending the device default theme. <theme> is usually blanco.

Note: For MeeGo Touch theme naming conventions, see libmeegotouch in Platform API reference.

/usr/share/themes/<theme>/<PN>/**
/usr/share/themes/<theme>/meegotouch/<PN>/**
Thumbnailer plugins /usr/lib/tumbler-1/plugins/<PN>.so Thumbnailer plugins
Tracker languages /usr/share/tracker/languages/<PN>.<locale> Tracker languages
Tracker miners /usr/share/tracker/miners/<PN>.desktop Desktop file for tracker miners
Tracker ontologies /usr/share/tracker/ontologies/<PN>.description Tracker ontologies and descriptions
/usr/share/tracker/ontologies/<PN>.ontology
Upstart configuration files /etc/init/apps/<PN>.conf Enables starting up and shutting down daemon processes
Webupload plugins: /usr/lib/webupload/plugins/<PN> Webupload sharing plugins
/usr/lib/webupload-engine/publish-plugins/<PN>.so

Note: For more detailed information, see also MeeGo 1.2 Harmattan API reference and Platform API reference.

Special cases

The following table list special cases. Installation to these directories must be approved case-by-case by Nokia Store.

Special cases for path name exceptions
File Path/file name Description
Application extensions /usr/lib/meegotouch/applicationextensions/*.so
/usr/share/meegotouch/applicationextensions/*.desktop
Other localisation files /usr/share/locale/**/<PN>.mo
Python based applications /usr/lib/python2.6/**
Restore factory settings script /etc/osso-rfs-scripts/<PN>-rfs.sh Script that restores the device's factory settings. For more information, see clean-device documentation.
Virtual keyboard files /home/user/.config/meego-keyboard/layouts/** Files for virtual keyboards, for example, different language variations