Open Build Service

{{Short description|Development platform for Linux distributions}}

{{Primary sources|date=June 2025}}

{{Infobox software

| name = Open Build Service

| title =

| logo =

| logo caption =

| logo_size =

| logo_alt =

| screenshot = Open Build Service screenshot.png

| caption =

| screenshot_size = 300px

| screenshot_alt =

| collapsible = yes

| author =

| developer = SUSE, Linux Foundation

| released =

| discontinued =

| latest release version = 2.10.21

| latest release date = {{Start date and age|2023|04|10}}

| latest preview version =

| latest preview date =

| programming language = Perl, Ruby

| operating system = Linux

| platform =

| size =

| language =

| language count =

| language footnote =

| genre = Web service, cross compiler

| license = GPLv2-only

| alexa =

| website = {{URL|https://openbuildservice.org}}

| standard =

| AsOf =

}}

The Open Build Service (formerly called openSUSE Build Service){{citation |url=https://news.opensuse.org/2011/05/26/opensuse-renames-obs/ |title=openSUSE renames OBS |publisher=news.opensuse.org |date=2011-05-26 |access-date=2012-11-06}} is an open and complete distribution development platform designed to encourage developers to compile packages for multiple Linux distributions including SUSE Linux Enterprise Server, openSUSE, Red Hat Enterprise Linux, Mandriva, Ubuntu, Fedora, Debian, and Arch Linux.{{citation |url=https://openbuildservice.org/2012/09/10/arch-linux-support |title=Open Build Service adds support for Arch Linux |publisher=openbuildservice.org |date=2012-09-10 |access-date=2015-04-15}} It typically simplifies the packaging process, so developers can more easily package a single program for many distributions, and many openSUSE releases, making more packages available to users regardless of what distribution they use. Also, product and appliance building is supported by OBS.

The Build Service software is published under the GPL.{{citation |url=https://lists.opensuse.org/opensuse-announce/2007-01/msg00002.html |title=Complete openSUSE Build Service under GPL available |publisher=lists.opensuse.org |date=2007-01-24 |access-date=2012-11-06}} In an acknowledgement of its usefulness to the wider Linux community, the Linux Foundation has announced that the project will be added to the Linux Developer Network (LDN).{{cite web|title=News from the Summit: Linux Foundation to Make the openSUSE Build Service Available Through Linux Developer Network|url=http://www.linuxfoundation.org/node/3444|publisher=Linux Foundation|access-date=14 March 2015|url-status=dead|archive-url=https://web.archive.org/web/20150402164858/http://www.linuxfoundation.org/node/3444|archive-date=2 April 2015}} Also, various companies,{{citation |url=https://en.opensuse.org/openSUSE:Build_Service_installations |title=openSUSE:Build Service installations |publisher=opensuse.org |date=2009-01-27 |access-date=2012-11-06}} MeeGo project and Tizen are using it for developing their distribution.

It also delivers a collaboration environment, allowing developer groups to build and submit changes to other projects.

__TOC__

Workflow and usage

One can either run the Open Build Service as a private installation, or utilize public instances such as the openSUSE Build Service located at build.opensuse.org, hosted by SUSE. The latter offers up to 400 build slots,{{citation |url=https://build.opensuse.org/ |title=openSUSE's public Build Service |publisher=build.opensuse.org |date=2012-05-25 |access-date=2012-11-06}} but external services may impose limitations as to what packages are allowed to be hosted, so private installations are usually chosen when proprietary or legally problematic software is to be hosted.

Each packager has a "home" project by default where they can upload sources and definitions on how to build RPM or Debian packages. Commits outside the home space is possible given permissions have been granted to a developer. After each upload, the Build Service schedules the changed packages to be rebuilt. On completion, the resulting binary packages are published instantaneously to the download server, which makes them available to the public.

The Build Service provides a public API{{citation |url=https://build.opensuse.org/apidocs |title=openSUSE Build Service API Documentation |publisher=build.opensuse.org |access-date=2013-07-09}} which is implemented in several user interfaces:

  • a web interface at [https://build.opensuse.org build.opensuse.org]
  • a command line interface called {{mono|osc}}{{citation |url=https://en.opensuse.org/openSUSE:OSC |title=openSUSE:OSC |publisher=opensuse.org |access-date=2020-01-13}}

Furthermore, a plug-in for integrating the Build Service into Eclipse is developed as a Google Summer of Code project,{{citation|url=https://code.google.com/soc/2008/suse/appinfo.html?csaid=DFC9A170A95499CD |title=Google Summer of Code: Project Application Information |url-status=dead |archive-url=https://web.archive.org/web/20080502025545/http://code.google.com/soc/2008/suse/appinfo.html?csaid=DFC9A170A95499CD |archive-date=May 2, 2008 }}{{citation |url=https://code.google.com/p/google-summer-of-code-2008-suse/downloads/list |title=Long Hong sources tarball for BuildService |access-date=2012-11-06}}{{citation |url=https://build.opensuse.org/package/files?package=BSUIPlugin&project=home%3Alog111 |title=prebuilt BSUIPlugin-1.2.0.jar Eclipse plugin |publisher=build.opensuse.org |access-date=2012-11-06 |archive-url=https://web.archive.org/web/20120421215700/https://build.opensuse.org/package/files?package=BSUIPlugin&project=home%3Alog111 |archive-date=2012-04-21 |url-status=dead }} as well as a plugin for Qt Creator.{{citation |url=http://socialdesktop.org/bretzn/ |title=Project Bretzn |publisher=Social Desktop |date=2010-10-26 |access-date=2012-11-06 |archive-date=2013-03-02 |archive-url=https://web.archive.org/web/20130302070719/http://socialdesktop.org/bretzn/ |url-status=dead }}

Instances can be linked, such that sources and packages from a remote host can be reused, thereby eliminating the need to bootstrap/import dependencies manually for preexisting projects.

See also

References

{{Reflist|30em}}