School Network/Open Build Service: Difference between revisions
mNo edit summary |
|||
| (8 intermediate revisions by one other user not shown) | |||
| Line 3: | Line 3: | ||
This [http://git.sugarlabs.org/0sugar/build-service patched] Sugar Labs instance of the [http://openbuildservice.org/ Open Build Service] (OBS) has the following intentions: | This [http://git.sugarlabs.org/0sugar/build-service patched] Sugar Labs instance of the [http://openbuildservice.org/ Open Build Service] (OBS) has the following intentions: | ||
* Unattended building of software hosted on [[Sugar Network]] for all [[ | * Unattended building of software hosted on [[Sugar Network]] for all [[Sweets_Distribution/Supported_platforms|supported]] platforms. | ||
* Be a convenient instrument to create 3rd party repositories with native packages for all [[ | * Be a convenient instrument to create 3rd party repositories with native packages for all [[Sweets_Distribution/Supported_platforms|supported]] GNU/Linux distributions. | ||
== Sites == | == Sites == | ||
* [https://obs.sugarlabs.org obs.sugarlabs.org]<br>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]. | * [https://obs.sugarlabs.org obs.sugarlabs.org]<br>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]. | ||
* [https://packages.sugarlabs.org packages.sugarlabs.org]<br>This is an original OBS Web client. It is intended to be used only by people who need to create native packages, i.e., it is not needed for most Sugar developers assuming that [[Sugar Network]] will process building procedures in unattended mode. | * [https://packages.sugarlabs.org packages.sugarlabs.org]<br>This is an original OBS Web client. It is intended to be used only by people who need to create native packages, i.e., it is not needed for most Sugar developers assuming that [[Sugar Network]] will process building procedures in unattended mode. | ||
* [http://download.sugarlabs.org/packages/ download.sugarlabs.org]<br>After building, binary packages will be acceptable from the Sugar Labs download site. | |||
== Usage == | == Usage == | ||
| Line 27: | Line 25: | ||
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, that are intended for building packages, need to inherit repositories from this project. | 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, that are intended for building packages, need to inherit repositories from this project. | ||
=== | === GNU/Linux distribution agnostic packages === | ||
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. | Instead of using spec files of packages to be built against for every GNU/Linux 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 a {{Code|sweets.recipe}} file in [[ | * upload a {{Code|sweets.recipe}} file in [[Sweets_Distribution/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: | ||
< | <context>-<version>.tar.gz | ||
After that, OBS will start building submitted package on all attached OBS repositories. | After that, OBS will start building submitted package on all attached OBS repositories. | ||
| Line 54: | Line 52: | ||
For example, | For example, | ||
https://obs.sugarlabs.org/resolve?project= | https://obs.sugarlabs.org/resolve?project=OLPC&repository=11.3.1&arch=i586&package=pygame&withdeps&exclude=sugar | ||
Will output: | Will output: | ||
| Line 72: | Line 70: | ||
<binary name="atlas" url="http://mock.laptop.org/cgit/koji.dist-f14-i686/plain/RPMS/atlas-3.8.3-18.fc14.i686.rpm" /> | <binary name="atlas" url="http://mock.laptop.org/cgit/koji.dist-f14-i686/plain/RPMS/atlas-3.8.3-18.fc14.i686.rpm" /> | ||
</resolve> | </resolve> | ||
== Policy == | == Policy == | ||
{{: | {{:School_Network/Open_Build_Service/Policy}} | ||
== Resources == | == Resources == | ||
| Line 83: | Line 79: | ||
* Open Build Service [http://openbuildservice.org/ home page]. | * Open Build Service [http://openbuildservice.org/ home page]. | ||
* Open Build Service API [https://obs.sugarlabs.org/apidocs/ specification]. | * Open Build Service API [https://obs.sugarlabs.org/apidocs/ specification]. | ||
* Downstream patch [ | * Downstream patch [https://git.sugarlabs.org/sl-tweaks/obs sources]. | ||