Sugar Network/Recipe Specification: Difference between revisions

Line 42: Line 42:
This is a required section (but see also [[#Presets|presets]]). It describes the main recipe component.
This is a required section (but see also [[#Presets|presets]]). It describes the main recipe component.


  '''sweet''' = <obs-project>/<obs-package>
  '''slug''' = <name>


The unique identifier of the package. Will be used in several use cases:
A short name of the package. Only lower alphabetic, numeric, "+"  or "-" symbols are allowed. Slug value should be at least two characters long and start with an alphanumeric character.


* fully qualified OBS package name on http://bazaar.sugarlabs.org (note that ''obs-project'' is colon separated project path),
With ''project'' option, ''slug'' will be used in several cases:
* in 0isntall feed url in format [http://sweets.sugarlabs.org/ http://sweets.sugarlabs.org/''sweet''],
* the value of ''obs-package'' will be used as a part of native package names.


The value of ''obs-package'' should contain only lower alphabetic, numeric, "+"  or "-" symbols and should be at least two characters long and start with an alphanumeric character.
* fully qualified OBS package name on OBS - <code>''package''/''slug''</code>,
* in 0isntall feed url - <code><nowiki>http</nowiki>://sweets.sugarlabs.org/''project''/''slug''</code>,
* in native package names generated from this recipe in form of <code>sugar-''slug''</code>.


  '''clone''' = <obs-project>[/<obs-package>]
  '''project''' = <colon-separated-obs-project-path>


If current package is a different implementation of another one, ''clone'' should be used to point to the package on http://bazaar.sugarlabs.org. Value of ''obs-package'' might be omited to reuse it from ''sweet''. Note that ''sweet'' should still point to the original package.
The project on OBS to store this package.
 
'''clone''' = <colon-separated-obs-project-path>
 
If current package is a different implementation of another one, ''clone'' should be used to point to the project where this clone is stored. Note that ''project'' should still point to the original project.


  '''name''' = <package-name>
  '''name''' = <package-name>