Sugar Network/Recipe Specification: Difference between revisions
No edit summary |
No edit summary |
||
| Line 18: | Line 18: | ||
[''use-case-type''[:''sub-name'']] | [''use-case-type''[:''sub-name'']] | ||
Where ''use-case-type'' is one of | Where ''use-case-type'' is one of the following sub sections and ''sub-name'' is an optional identifier used if there are more than one sections of the same type. | ||
Regardless of the type, use case section (or one of them) should contain | Regardless of the type, a use case section (or one of them) should contain the following options: | ||
'''sweet''' = <identifier> | '''sweet''' = <identifier> | ||
| Line 35: | Line 35: | ||
'''name''' = <name> | '''name''' = <name> | ||
Optional. Free form name. (It is equal to the ''sweet'', by default.) | Optional. Free-form name. (It is equal to the ''sweet'', by default.) | ||
'''summary''' = <one-line-description> | '''summary''' = <one-line-description> | ||
| Line 96: | Line 96: | ||
'''mime_types''' = <mime-type> [; ...] | '''mime_types''' = <mime-type> [; ...] | ||
Optional. List of mime types supported by the activity. It's used when opening a file from the web or to present to the user a list of activities | Optional. List of mime types supported by the activity. It's used when opening a file from the web, or to present to the user a list of activities that can open a certain Journal object. | ||
'''tags''' = <tag> [; ...] | '''tags''' = <tag> [; ...] | ||
Optional. Tags give more context in which to group the activity. This is used to allow users to find | Optional. Tags give more context in which to group the activity. This is used to allow users to find activities more easily in the Journal, the Home view, etc. | ||
activities more easily in the Journal, the Home view, etc. | |||
'''requires''' = <dependency> [(=|>=|<) <version>] [; ...] | '''requires''' = <dependency> [(=|>=|<) <version>] [; ...] | ||
| Line 135: | Line 134: | ||
== Archive sections == | == Archive sections == | ||
Archive section | Archive section describes the tarball that will contain the sweet implementation. | ||
If there are | If there are not any archive sections, the sweet implementation consists of only one archive that includes the entire {{Code|%(DESTDIR)s}} directory (excluding temporary files). At the same time, the sweet implementation might be split into several archives. | ||
Possible use cases: | Possible use cases: | ||
* To save storage space or bandwidth when some tarballs will contain any-arch data that are common for all platforms and another tarball will contain binaries for a particular platform. | * To save storage space or bandwidth when some tarballs will contain any-arch data that are common for all platforms, and another tarball will contain binaries for a particular platform. | ||
All archive archive sections are named: | All archive archive sections are named: | ||
| Line 147: | Line 146: | ||
[Archive[:''sub-name'']] | [Archive[:''sub-name'']] | ||
And contain | And contain the following options: | ||
'''include''' = <glob-pattern> [; ...] | '''include''' = <glob-pattern> [; ...] | ||
Optional. [[Platform_Team/Guide/Packaging#Glob patterns|Glob pattern]] for files to include to the archive. Path related patterns will be processed starting from [[#Predefined_options|%(DISTDIR)s/%(PREFIX)s]] directory. By default, all files are assumed. | Optional. [[Platform_Team/Guide/Packaging#Glob patterns|Glob pattern]] for files to include to the archive. Path related patterns will be processed starting from the [[#Predefined_options|%(DISTDIR)s/%(PREFIX)s]] directory. By default, all files are assumed. | ||
'''exclude''' = <glob-pattern> [; ...] | '''exclude''' = <glob-pattern> [; ...] | ||
Optional. Like ''include'' option but for excluding files from the archive. In additional, various temporary files will be excluded like ''.bak'' or ''.pyc''. | Optional. Like the ''include'' option but used for excluding files from the archive. In additional, various temporary files will be excluded like ''.bak'' or ''.pyc''. | ||
'''langs''' = <lang-name> [; ...] | '''langs''' = <lang-name> [; ...] | ||
| Line 161: | Line 160: | ||
exclude[<lang-name>] = <glob-pattern> [; ...] | exclude[<lang-name>] = <glob-pattern> [; ...] | ||
Optional. A special form of ''include''/''exclude'' options that are intended to create separate, per locale, archives. If language is mentioned in ''langs'' list but doesn't have ''include[]''/''exclude[]'' options, ''include''/''exclude'' will be used (in that case, using special [[#Predefined_options|LANG]] variable makes sense). | Optional. A special form of ''include''/''exclude'' options that are intended to create separate, per locale, archives. If language is mentioned in the ''langs'' list, but doesn't have any ''include[]''/''exclude[]'' options, ''include''/''exclude'' will be used (in that case, using the special [[#Predefined_options|LANG]] variable makes sense). | ||
'''arch''' = <arch> | '''arch''' = <arch> | ||
| Line 175: | Line 174: | ||
=== [Build] === | === [Build] === | ||
This section is required if sweet needs additional work to prepare ready-to-use installation. To prepare valid sweets, it is important to use [[#Predefined_options|predefined constants]] for options that contain shell commands. All shell commands will be executed from {{Code|%(BUILDDIR)s}} directory. | This section is required if the sweet needs additional work in order to prepare a ready-to-use installation. To prepare valid sweets, it is important to use [[#Predefined_options|predefined constants]] for options that contain shell commands. All shell commands will be executed from the {{Code|%(BUILDDIR)s}} directory. | ||
'''NOTE''' The commands in this section will be executed, not only in the developer's environment, but also in the user's, if a proper binary wasn't found; so move all development-related commands, like {{Code|autogen.sh}}, to the ''[Source]'' section. | '''NOTE''' The commands in this section will be executed, not only in the developer's environment, but also in the user's, if a proper binary wasn't found; so move all development-related commands, like {{Code|autogen.sh}}, to the ''[Source]'' section. | ||
| Line 181: | Line 180: | ||
'''requires''' = <dependency-name> [(=|>=|<) <version>] [; ...] | '''requires''' = <dependency-name> [(=|>=|<) <version>] [; ...] | ||
What [[Platform_Team/Guide/Packaging#Package_names|dependencies]] should be present before building the sweet from sources. Note that ''requires'' from [[#.5BComponent.5D|[Component]]] sections are not auto included | What [[Platform_Team/Guide/Packaging#Package_names|dependencies]] should be present before building the sweet from sources. Note that ''requires'' from [[#.5BComponent.5D|[Component]]] sections are not auto included in the build-time dependencies. | ||
'''configure''' = <shell-command> | '''configure''' = <shell-command> | ||