Application Package Specification (Idea)
Introduction
This specification is designed to provide a desktop neutral way to package one application.
Dependencies can be installed on first start of the application. The necessary runtime environment should be installed (may use of packagekit) and the runtime environment should install the necessary modules.
Package Structure
A application-package is an archive containing the application and a file describing all the contents. The archive should be a gzip-compressed tarball with an .app extension.
/
/info
/app/
Package Description
The info file should be formatted as followed:
Package Name
[Application]
Name=Example applicationThe Name of the application, it is required for identification-purposes.
ApplicationPackage-file version
Version=1.0
The Desktop-file syntax version, this field must be present.
Mime-type
Type=X-ApplicationPackage
The mime-type, this field must be present and have the value X-ApplicationPackage.
Maintainer
Maintainer=John Doe <john DOT doe AT freedesktop DOT org>
The ThemePackage maintainer, this field should be present and formatted as followed
Name < email >
If for some reason this field is not available, implementations may choose to warn a user about this fact.
Application version
Application-Version=1.0
The ApplicationPackage version-number (increases with every update), this field should be present and formatted as followed
a[.b[.c[.d[.e]]]] Where a, b, c, d and e are numbers between 0 and 4294967296 (32 bits unsigned integers).
Author(s) / Artist(s) name(s)
Authors=Jane Doe <jane AT freedesktop DOT org>; John Doe <john AT freedesktop DOT org>
The author(s) of the application, this field may be present.
Name < email >[; Name < email >[; etc...]]
Package Description
Description=This example application is a great multiplayer game for the whole family. You can use your keyboard and your mouse. For more information see our website: www.greatgame.example.
This field provides a description about the application.
Application License Information
License=GPL;Creative-Commons
The License under which the application is distributed.
info Example
[Application]
Name=Example application
Version=1.0
Type=X-ApplicationPackage
Maintainer=John Doe <john AT freedesktop DOT org>
Application-Version=1.0
Authors=Jane Doe <jane AT freedesktop DOT org>; John Doe <john AT freedesktop DOT org>
Description=This example application is a great multiplayer game for the whole family. You can use your keyboard and your mouse. For more information see our website: www.greatgame.example.
License=GPL;Creative-Commons
app directory
This directory contains the application files. If your set an exec file in the desktop entry file, this directory will be used first to look for that exec file.
Installation
The user should be able to copy the application to applications:// to register the application. At all you don't need to install the application, just execute the app-file to use the application. The system will may share the application for multiple users.
Internationalization
The package server should be able to provide descriptions of packages in the user's language.


