School Network/Open Build Service: Difference between revisions
No edit summary |
No edit summary |
||
| Line 57: | Line 57: | ||
== Supported platforms == | == Supported platforms == | ||
There is special project, named [https://packages.sugarlabs.org/project/repositories?project=base base] | There is a special project, named [https://packages.sugarlabs.org/project/repositories?project=base base]; it contains all GNU/Linux distributions that are supported on OBS. All other projects need to inherit repositories from this project. | ||
== Usage == | == Usage == | ||
| Line 65: | Line 65: | ||
=== Sweets === | === Sweets === | ||
[[Platform_Team/Sweets|Sweets]] is using OBS as a place to host sources and, if there is need, build binaries. There are two ways to interact with OBS: | [[Platform_Team/Sweets|Sweets]] is using OBS as a place to host sources and, if there is a need, to build binaries. There are two ways to interact with OBS: | ||
* Console based client, {{Code|sweets}}, for uploading new releases; | * Console based client, {{Code|sweets}}, for uploading new releases; | ||
* | * An application to manage already released versions. It is possible to use packages.sugarlabs.org for that, but it is too overfeatured and needs to be replaced by a more appropriate alternative. | ||
The result will be reused via Zero Install. | The result will be reused via Zero Install. | ||
| Line 74: | Line 74: | ||
=== Sweet packages === | === Sweet packages === | ||
After | After being released, sweets might be formed into native package repositories. For that use case: | ||
* Create new project; | * Create a new project; | ||
* Add | * Add packages that need to be built for, they should be directly or indirectly inherited from the {{Code|base}} project; | ||
* Go to OBS package that | * Go to the OBS package that represents a sweet you need to build native packages for, e.g., [https://packages.sugarlabs.org/package/show?package=sugar&project=sdk sugar]; | ||
* Click ''Link sweet package'' link to add it to your project. | * Click the ''Link sweet package'' link to add it to your project. | ||
The result will be regular OBS repositories with native packages. The only difference is that after | The result will be regular OBS repositories with native packages. The only difference is that after installation on target systems, the content of these packages will be placed in the {{Code|/opt}} directory instead of the regular {{Code|/usr}}. The reason is that sweets are not intended to be placed directly in the {{Code|/usr}} directory as there might be file name collisions with existing files. | ||
=== Recipe based packages === | === Recipe based packages === | ||
These are regular OBS packages except that instead of regular spec files, e.g., RPM {{Code|.spec}}, they might be | These are regular OBS packages except that instead of regular spec files, e.g., RPM {{Code|.spec}}, they might be built based on [[Platform_Team/Recipe_Specification#.5BPackage.5D|sweets.recipe]] files. It is a kind of meta packaging, but restricted by design. In comparison with sweet packages, these packages will be placed in the {{Code|/usr}} directory. | ||
=== Regular packages === | === Regular packages === | ||