Platform Team/Guide/Sweets Packaging: Difference between revisions
No edit summary |
|||
| Line 47: | Line 47: | ||
[Package/<nowiki><sub-package></nowiki>] | [Package/<nowiki><sub-package></nowiki>] | ||
Formatting of sub sections is identical to the ''[Package]'' section. Sub packages could make sense, e.g., for packaging additional content, or to separate a library and its script language binding. | |||
Other packages can mention sub packages by the format: | Other packages can mention sub packages by the format: | ||
| Line 60: | Line 60: | ||
=== Recipes === | === Recipes === | ||
In some cases, e.g., to save storage space or bandwidth, it is useful to split a packaged application into several tarballs when some tarballs will contain any-arch data | In some cases, e.g., to save storage space or bandwidth, it is useful to split a packaged application into several tarballs when some tarballs will contain any-arch data that are common for all platforms and another tarball will contain binaries for a particular platform. Thus, if an application supports several platforms, and any-arch data is big (multiple media, text, etc. files), duplicate tarballs are avoided. | ||
The key differences between recipes and sub packages: | The key differences between recipes and sub packages: | ||
* Sub packages are logically independent parts of the package | * Sub packages are logically independent parts of the package; recipes make sense only to save storage space; | ||
* Each sub package is identified by unique 0install url | * Each sub package is identified by a unique 0install url; all recipe components are identified by a recipe url; | ||
* Tarballs for different sub packages will be extracted to different directories | * Tarballs for different sub packages will be extracted to different directories; recipe component tarballs, within the same recipe, will be extracted to the same directory. | ||
Use the ''recipe'' option to declare a (sub)package(s) as a recipe: | Use the ''recipe'' option to declare a (sub)package(s) as a recipe: | ||
| Line 77: | Line 77: | ||
... | ... | ||
Recipe component sections can contain only files related options such as ''include'', ''exclude'', ''arch'' and ''langs''. | Recipe component sections can contain only files-related options such as ''include'', ''exclude'', ''arch'', and ''langs''. | ||
The same component could be a part of different recipes. In that case, different package implementations will contain the same recipe component tarball. | The same component could be a part of different recipes. In that case, the different package implementations will contain the same recipe component tarball. | ||
=== Slots === | === Slots === | ||