School Network/Open Build Service: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
== Summary == | == Summary == | ||
This | This [http://git.sugarlabs.org/0sugar/build-service patched] Sugar Labs instance of the [http://openbuildservice.org/ Open Build System] (OBS) has the following intentions: | ||
* | * Provide a place to host sources and to make binaries, if there is a need, for [[Platform_Team/Sweets|Sweets]] projects. | ||
* | * Be a convenient instrument to create 3rd party repositories with native packages for all [[#Supported_platforms|supported]] GNU/Linux distributions. | ||
For detailed information, read the original Open Build System [http://openbuildservice.org/documentation.html documentation]. | For detailed information, read the original Open Build System [http://openbuildservice.org/documentation.html documentation]. | ||
| Line 12: | Line 12: | ||
=== obs.sugarlabs.org === | === obs.sugarlabs.org === | ||
This is an [https://obs.sugarlabs.org/apidocs/ API] site, all OBS clients use it to get access to OBS. There is no need to work with the site directly, | This is an [https://obs.sugarlabs.org/apidocs/ API] site, all OBS clients use it to get access to OBS. There is no need to work with the site directly, although that is [http://en.opensuse.org//openSUSE:Build_Service_Curl possible]. | ||
The site uses HTTP Basic authentication. To get access, [[Service/Account#Sugar_Labs_Central_Login|create]] a Sugar Labs Central Login account. | The site uses HTTP Basic authentication. To get access, [[Service/Account#Sugar_Labs_Central_Login|create]] a Sugar Labs Central Login account. | ||
| Line 62: | Line 62: | ||
== Usage == | == Usage == | ||
On top of original OBS behavior, Sugar Labs patch brings the following new features. | On top of original OBS behavior, the Sugar Labs patch brings the following new features. | ||
=== Distribution agnostic packages === | === Distribution agnostic packages === | ||
Instead of using spec files | Instead of using spec files of packages to be built against for every distribution, it is possible to use a special spec file that will be used as-is in all platforms that Sugar Labs OBS supports. | ||
To create such distro-agnostic packages | To create such distro-agnostic packages, | ||
* upload {{Code|sweets.recipe}} file in [[Platform_Team/Recipe_Specification|special notation]] to OBS package; | * upload a {{Code|sweets.recipe}} file in [[Platform_Team/Recipe_Specification|special notation]] to OBS package; | ||
* upload {{Code|.tar.gz}} sources with filename composed using {{Code|sweets.recipe}} fields: | * upload {{Code|.tar.gz}} sources with filename composed using {{Code|sweets.recipe}} fields: | ||
<implement>-<version>.tar.gz | <implement>-<version>.tar.gz | ||
After that, OBS will | After that, OBS will start building submitted package on all attached OBS repositories. | ||
=== Resolve packages and dependencies === | === Resolve packages and dependencies === | ||
There is new API command that might be used to resolve package names and package dependencies on particular OBS platform. | There is new API command that might be used to resolve package names and package dependencies on a particular OBS platform. | ||
GET '''/resolve'''?project=PROJECT&repository=REPOSITORY&arch=ARCH&package=PACKAGE[&withdeps][&exclude=PACKAGE] | GET '''/resolve'''?project=PROJECT&repository=REPOSITORY&arch=ARCH&package=PACKAGE[&withdeps][&exclude=PACKAGE] | ||
| Line 110: | Line 110: | ||
</resolve> | </resolve> | ||
Note that {{Code|url}} attributes might be invalid if corresponding packages were used for building on OBS. So, keep special OBS projects, only for resolving | Note that {{Code|url}} attributes might be invalid if corresponding packages were used for building on OBS. So, keep special OBS projects, used only for resolving purposes, like {{OBS/project|OLPC:11.3.1|OLPC:11.3.1}}. | ||
== Policy == | == Policy == | ||