Line 1: |
Line 1: |
| == Summary == | | == Summary == |
| | | |
− | This is a [http://git.sugarlabs.org/0sugar/build-service patched] Sugar Labs instance of the [http://openbuildservice.org/ Open Build System] (OBS), which is intended to be a: | + | 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: |
| | | |
− | * Place to host sources and to make binaries, if there is a need, for [[Platform_Team/Sweets|Sweets]] projects. | + | * Provide a place to host sources and to make binaries, if there is a need, for [[Platform_Team/Sweets|Sweets]] projects. |
− | * Convenient instrument to create 3rd party repositories with native packages for all [[#Supported_platforms|supported]] GNU/Linux distributions. | + | * 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, but that is [http://en.opensuse.org//openSUSE:Build_Service_Curl possible]. | + | 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 for every distribution packages should be built against, it is possible to use special spec file that will be used as-is an all platforms Sugar Labs OBS supports. | + | 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 star building submitted package on all attached OBS repositories. | + | 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 purpose, like {{OBS/project|OLPC:11.3.1|OLPC:11.3.1}}. | + | 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 == |