Sugar Network/Recipe Specification: Difference between revisions

No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Summary ==
The document describes software specification files format which is a superset on top of the Sugar [[Development_Team/Almanac/Activity_Bundles|activity bundles]] specification. This format is backwards compatible with [[Development_Team/Almanac/Activity_Bundles#.info_file_format|activity.info]] files to make sure that software starts well from the regular Sugar Shell. But the major purpose of introducing new format is supporting software hosted on the [[Sugar Network]]. In particular, new format assumes the following functionality:
The document describes software specification files format which is a superset on top of the Sugar [[Development_Team/Almanac/Activity_Bundles|activity bundles]] specification. This format is backwards compatible with [[Development_Team/Almanac/Activity_Bundles#.info_file_format|activity.info]] files to make sure that software starts well from the regular Sugar Shell. But the major purpose of introducing new format is supporting software hosted on the [[Sugar Network]]. In particular, new format assumes the following functionality:


Line 305: Line 307:
  ''DEPENDENCY'' [(<|<=|=|>=|>) ''VERSION'']
  ''DEPENDENCY'' [(<|<=|=|>=|>) ''VERSION'']


The ''DEPENDENCY'' value is a GUID associated with dependency project, i.e., ''context'' value from dependency spec file. In general, it might be any software Sugar Network [http://node.sugarlabs.org/context Context] GUID, but current implementation assumes only GNU/Linux [http://node.sugarlabs.org/context?type=package packages].
The ''DEPENDENCY'' value is a GUID associated with dependency project, i.e., ''context'' value from dependency spec file. In general, it might be any software Sugar Network [http://node.sugarlabs.org/context Context], but current implementation assumes only GNU/Linux [http://node.sugarlabs.org/context?type=package packages].
 
== Glob patterns ==
 
The ''include'' and ''exclude'' options contain file patterns. A pattern could be of two types:
 
* doesn't contain ''/'' or ''**'' substrings, will be applied only to file names
* contains ''/'' or ''**'' substring, will be applied to the full file path (relative to the root), thus could affect several directory levels
 
Only these pattern symbols are allowed:
 
* ''*'' matches everything, except directory separator
* ''?'' matches any single character, except directory separator
* ''**'' matches everything, including directory separator