Sugar Network/Recipe Specification: Difference between revisions

No edit summary
Line 142: Line 142:
* 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 sections are named:


  [Archive[:''sub-name'']]
  [Archive[:''sub-name'']]
Line 150: Line 150:
  '''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 the [[#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 in 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 the ''include'' option but used 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 addition, various temporary files will be excluded, like ''.bak'' or ''.pyc''.


  '''langs''' = <lang-name> [; ...]
  '''langs''' = <lang-name> [; ...]
Line 160: 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 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).
Optional. A special form of ''include''/''exclude'' options that are intended to create separate, per locale, archives. If a 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 180: 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 in the build-time dependencies.
This defines 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>


Shell command to configure sources before building, e.g., invoking the configure script in auto-tools-based projects. If the source code does not require a configuration stage, this option could be omited.
Shell command to configure sources before building, e.g., invoking the configure script in auto-tools-based projects. If the source code does not require a configuration stage, this option could be omitted.


  '''make''' = <shell-command>
  '''make''' = <shell-command>
Line 208: Line 208:
  '''exec''' = <shell-command>
  '''exec''' = <shell-command>


Execute external program to create sources tarball. Option might be used, e.g., to run {{Code|make dist}} command. After executing ''exec'' shell command, {{Code|sweets}} will pick up newly appeared tarball if it was created in sweet root directory.
Execute external program to create sources tarball. Option might be used, e.g., to run {{Code|make dist}} command. After executing the ''exec'' shell command, {{Code|sweets}} will pick up newly appearing tarball if it was created in the sweet root directory.


  '''include''' = <glob-pattern> [; ...]
  '''include''' = <glob-pattern> [; ...]
  '''exclude''' = <glob-pattern> [; ...]
  '''exclude''' = <glob-pattern> [; ...]


If neither ''url'' nor ''exec'' options were used, all files will be bundled and these [[Platform_Team/Guide/Packaging#Glob patterns|glob patterns]] might be used to concretize selection.
If neither ''url'' nor ''exec'' options were used, all files will be bundled and these [[Platform_Team/Guide/Packaging#Glob patterns|glob patterns]] might be used to concretize the selection.


  '''requires''' = <dependency> [(=|>=|<) <version>] [; ...]
  '''requires''' = <dependency> [(=|>=|<) <version>] [; ...]
Line 229: Line 229:
* ''CXXFLAGS'' default gcc CXXFLAGS
* ''CXXFLAGS'' default gcc CXXFLAGS


In sections that contain ''langs'' option:
In sections that contain a ''langs'' option:


* ''LANG'' current language while building per language implementation
* ''LANG'' current language while building per language implementation