ApplicationId

Revision 10 as of 2013-09-18 17:28:41

Clear message

The Application ID is the string "$(click_package)_$(application)_$(version)" (without the quotes and with the obvious substitutions made).

This ID is used for identifying the application throughtout the system:

The following restrictions to the components apply, from various parts of the system:

filesystem

store

apparmor1

deb2,3

intersection

click_package

[^\0/]+

[a-zA-Z0-9.-]+

[a-zA-Z0-9+.:]+

[a-z0-9][a-z0-9+.-]+

[a-z0-9][a-z0-9.-]+

application

[^\0/]+

[a-zA-Z0-9+.:~-]+

[a-zA-Z0-9+.-]+

[a-zA-Z0-9+.:~-]+

version

[^\0/]+

[0-9.]+

[a-zA-Z0-9+.:~-]+

[0-9][a-zA-Z0-9.+:~-]*

[0-9][0-9.]*

  1. security manifest definition

  2. click file-format definition

  3. click hooks definition

Additionally, version should be structured more or less as you would expect, and be strictly monotonically increasing (new versions should always be greater than old versions).

Alternate nomenclatures:

  • 'APP_ID' and '${id}' (from click documentation) are synomymous with 'ApplicationId'

  • 'click package name' ("name" in the click manifest) and 'APP_PKGNAME' are synonymous with $(click_package)
  • 'application name' and 'appname' are synonymous with $(application)
  • 'APP_VERSION' is synonymous with $(version)

Note: as of 2013-09-18 only one $(application) is allowed per click package. Future versions will support specifying multiple $(application)s per click package (this is already supported in the click manifest and click-apparmor, where the keys to the click manifest's hooks dictionary define the values for each $(application)).