Open Build Service: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
m Disambiguating links to SUSE (link changed to SUSE S.A.; link changed to SUSE S.A.) using DisamAssist.
 
(35 intermediate revisions by 25 users not shown)
Line 12: Line 12:
| collapsible = yes
| collapsible = yes
| author =
| author =
| developer = [[SUSE Linux distributions|SUSE]], [[Linux Foundation]]
| developer = [[SUSE S.A.|SUSE]], [[Linux Foundation]]
| released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| discontinued =
| discontinued = <!-- Still in development -->
| latest release version = 2.5
| latest release version = 2.10.21
| latest release date = {{Start date and age|2014|03|31}}
| latest release date = {{Start date and age|2023|04|10}}
| latest preview version =
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| frequently updated = <!-- DO NOT include this parameter unless you know what it does -->
| status = Current
| programming language = [[Perl]], [[Ruby (programming language)|Ruby]]
| programming language = [[Perl]], [[Ruby (programming language)|Ruby]]
| operating system = [[Linux]]
| operating system = [[Linux]]
Line 28: Line 26:
| language count = <!-- DO NOT include this parameter unless you know what it does -->
| language count = <!-- DO NOT include this parameter unless you know what it does -->
| language footnote =
| language footnote =
| genre = [[Web service]], [[Cross compiler]]
| genre = [[Web service]], [[cross compiler]]
| license = [[GNU General Public License|GPL]]
| license = [[GNU General Public License Version 2 |GPLv2-only]]
| alexa =
| alexa =
| website = {{URL|openbuildservice.org}}
| website = {{URL|https://openbuildservice.org}}
| standard =
| standard =
| AsOf =
| AsOf =
}}
}}


The '''Open Build Service''' (formerly called '''OpenSUSE Build Service''')<ref>{{citation |url=http://news.opensuse.org/2011/05/26/opensuse-renames-obs/ |title=openSUSE renames OBS |publisher=news.opensuse.org |date=2011-05-26 |accessdate=2012-11-06}}</ref> is an open and complete distribution development platform designed to encourage developers to compile packages for multiple [[Linux distribution]]s including SuSE, [[openSUSE]], [[Red Hat]], [[Mandriva]], [[Ubuntu (operating system)|Ubuntu]], [[Fedora (Linux distribution)|Fedora]], [[Debian]], and [[Arch Linux]]<ref>{{citation |url=http://openbuildservice.org/2012/09/10/arch-linux-support |title=Open Build Service adds support for Arch Linux |publisher=openbuildservice.org |date=2012-09-10 |accessdate=2015-04-15}}</ref> . 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 '''Open Build Service''' (formerly called '''openSUSE Build Service''')<ref>{{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}}</ref> is an open and complete distribution development platform designed to encourage developers to compile packages for multiple [[Linux distribution]]s including [[SUSE Linux Enterprise Server]], [[openSUSE]], [[Red Hat Enterprise Linux]], [[Mandriva]], [[Ubuntu (operating system)|Ubuntu]], [[Fedora (operating system)|Fedora]], [[Debian]], and [[Arch Linux]].<ref>{{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}}</ref> 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 [[GNU General Public License|GPL]].<ref>{{citation |url=http://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 |accessdate=2012-11-06}}</ref> 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).<ref>{{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|website=http://www.linuxfoundation.org|publisher=Linux Foundation|accessdate=14 March 2015}}</ref> Also, various companies,<ref>{{citation |url=http://en.opensuse.org/openSUSE:Build_Service_installations |title=openSUSE:Build Service installations |publisher=opensuse.org |date=2009-01-27 |accessdate=2012-11-06}}</ref> [[MeeGo]] project and [[Tizen]] are using it for developing their distribution.
The Build Service software is published under the [[GNU General Public License|GPL]].<ref>{{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}}</ref> 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).<ref>{{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}}</ref> Also, various companies,<ref>{{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}}</ref> [[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.
It also delivers a collaboration environment, allowing developer groups to build and submit changes to other projects.
Line 44: Line 42:
__TOC__
__TOC__


== Workflow and usage ==
==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 Novell. The latter offers up to 400 build slots,<ref>{{citation |url=http://build.opensuse.org/ |title=OpenSUSE's public Build Service |publisher=build.opensuse.org |date=2012-05-25 |accessdate=2012-11-06}}</ref> but naturally, 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.
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 S.A.|SUSE]]. The latter offers up to 400 build slots,<ref>{{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}}</ref> 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 Package Manager|RPM]] or [[Deb (file format)|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.
Each packager has a "home" project by default where they can upload sources and definitions on how to build [[RPM Package Manager|RPM]] or [[Deb (file format)|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 [[Application programming interface|API]]<ref>{{citation |url=https://build.opensuse.org/apidocs |title=openSUSE Build Service API Documentation |publisher=build.opensuse.org |date= |accessdate=2013-07-09}}</ref> which is implemented in several [[user interface]]s:
The Build Service provides a public [[Application programming interface|API]]<ref>{{citation |url=https://build.opensuse.org/apidocs |title=openSUSE Build Service API Documentation |publisher=build.opensuse.org |access-date=2013-07-09}}</ref> which is implemented in several [[user interface]]s:
* a web interface at [https://build.opensuse.org build.opensuse.org]
* a web interface at [https://build.opensuse.org build.opensuse.org]
* a [[command line interface]] called <tt>osc</tt><ref>{{citation |url=http://en.opensuse.org/Build_Service/CLI |title=osc, the Python command line client |publisher=opensuse.org |date= |accessdate=2012-11-06}}</ref>
* a [[command line interface]] called {{mono|osc}}<ref>{{citation |url=https://en.opensuse.org/openSUSE:OSC |title=openSUSE:OSC |publisher=opensuse.org |access-date=2020-01-13}}</ref>
Furthermore, a [[plug-in (computing)|plug-in]] for integrating the Build Service into [[Eclipse (software)|Eclipse]] is developed as a [[Google Summer of Code]] project,<ref>{{citation |url=https://code.google.com/soc/2008/suse/appinfo.html?csaid=DFC9A170A95499CD |title=Google Summer of Code: Project Application Information}}{{dead link|date=November 2012}}</ref><ref>{{citation |url=https://code.google.com/p/google-summer-of-code-2008-suse/downloads/list |title=Long Hong sources tarball for BuildService |publisher=code.google.com |date= |accessdate=2012-11-06}}</ref><ref>{{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 |date= |accessdate=2012-11-06}}</ref> as well as a plugin for [[Qt Creator]].<ref>{{citation |url=http://socialdesktop.org/bretzn/ |title=Project Bretzn |publisher=Social Desktop |date=2010-10-26 |accessdate=2012-11-06}}</ref>
Furthermore, a [[plug-in (computing)|plug-in]] for integrating the Build Service into [[Eclipse (software)|Eclipse]] is developed as a [[Google Summer of Code]] project,<ref>{{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 }}</ref><ref>{{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}}</ref><ref>{{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 }}</ref> as well as a plugin for [[Qt Creator]].<ref>{{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 }}</ref>


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.
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==
== Versions and history ==
* 2006-02-22 — initial announcement<ref>{{citation |url=http://lists.opensuse.org/opensuse-buildservice/2006-02/msg00000.html |title=The openSUSE Build Service - Adrian Schröter |publisher=lists.opensuse.org |date=2006-02-22 |accessdate=2012-11-06}}</ref>
* 2007-12-21 — Version 0.5<ref>{{citation |url=http://news.opensuse.org/2007/12/21/opensuse-build-service-version-05-pointsettia-available/ |title=openSUSE Build Service Version 0.5 |publisher=news.opensuse.org |date=2007-12-21 |accessdate=2012-11-06}}</ref>
* 2008-04-16 — Version 0.9<ref>{{citation |url=http://news.opensuse.org/2008/04/16/opensuse-project-releases-major-update-to-opensuse-build-service/ |title=openSUSE Build Service Version 0.9 |publisher=news.opensuse.org |date=2008-04-16 |accessdate=2012-11-06}}</ref>
* 2008-07-09 — Version 1.0<ref>{{citation |url=http://news.opensuse.org/2008/07/09/opensuse-build-service-10-released/ |title=openSUSE Build Service 1.0 |publisher=news.opensuse.org |date=2008-07-09 |accessdate=2012-11-06}}</ref>
* 2009-03-19 — Version 1.5<ref>{{citation |url=http://news.opensuse.org/2009/03/19/opensuse-build-service-15-announced/ |title=openSUSE Build Service 1.5 |publisher=news.opensuse.org |date=2009-03-19 |accessdate=2012-11-06}}</ref>
* 2010-06-09 — Versions 1.8 and 2.0<ref>{{citation |url=http://news.opensuse.org/2010/06/09/opensuse-build-service-1-8-and-2-0-announced/ |title=openSUSE Build Service Version 1.8 and 2.0 |publisher=news.opensuse.org |date=2010-06-09 |accessdate=2012-11-06}}</ref>
* 2012-05-03 — Version 2.3<ref>{{citation |url=http://news.opensuse.org/2012/05/03/open-build-service-version-2-3-released/ |title=Open Build Service version 2.3 Released |publisher=news.opensuse.org |date=2012-05-03 |accessdate=2012-11-06}}</ref>
* 2013-04-30 — Version 2.4<ref>{{citation | url=http://openbuildservice.org/2013/04/30/version-2.4/ | title=Open Build Service version 2.4 released | date=2013-04-30 | accessdate=2013-04-30}}</ref>
* 2014-03-31 — Version 2.5<ref>{{citation | url=http://openbuildservice.org/2014/03/31/version-2.5/ | title=Open Build Service version 2.5 released | date=2014-03-31 | accessdate=2014-04-02}}</ref>

== See also ==
* [[openSUSE]]
* [[openSUSE]]
* [[Mer (software distribution)|mer]]
* [[Mer (software distribution)|mer]]


== References ==
==References==
{{reflist|30em}}
{{Reflist|30em}}


== External links ==
==External links==
* {{Official website|http://en.opensuse.org/Build_Service}}
* {{Official website|https://openbuildservice.org/}}
* [https://github.com/openSUSE/open-build-service openSUSE Build Service source code]
* [https://github.com/openSUSE/open-build-service openSUSE Build Service source code]
* [http://en.opensuse.org/openSUSE:Build_Service_Tutorial openSUSE Build Service tutorial]
* [https://en.opensuse.org/openSUSE:Build_Service_Tutorial openSUSE Build Service tutorial]
* [http://files.opensuse.org/opensuse/en/8/8e/FOSDEM_Build_Service.pdf openSUSE Build Service presentation at FOSDEM 2006 (Slides)]
* [https://files.opensuse.org/opensuse/en/8/8e/FOSDEM_Build_Service.pdf openSUSE Build Service presentation at FOSDEM 2006 (Slides)]
* [http://files.opensuse.org/opensuse/en/2/21/FOSDEM2008-OBS-short-introduction.pdf openSUSE Build Service presentation at FOSDEM 2008 (Slides)] [http://tube.opensuse.org/fosdem08/fosdem08_day1_04_buildservice_webclient.ogg (Video)]
* [https://files.opensuse.org/opensuse/en/2/21/FOSDEM2008-OBS-short-introduction.pdf openSUSE Build Service presentation at FOSDEM 2008 (Slides)]
* [http://tube.opensuse.org/fosdem08/fosdem08_day1_04_buildservice_webclient.ogg (Video)]{{dead link
| date = March 2018
| bot = InternetArchiveBot
| fix-attempted = yes}}


[[Category:Build automation]]
[[Category:SUSE Linux]]
[[Category:SUSE Linux]]

Latest revision as of 09:31, 4 April 2024

Developer(s)SUSE, Linux Foundation
Stable release
2.10.21 / April 10, 2023; 13 months ago (2023-04-10)
Repository
Written inPerl, Ruby
Operating systemLinux
TypeWeb service, cross compiler
LicenseGPLv2-only
Websiteopenbuildservice.org

The Open Build Service (formerly called openSUSE Build Service)[1] 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.[2] 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.[3] 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).[4] Also, various companies,[5] 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.

Workflow and usage[edit]

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,[6] 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[7] which is implemented in several user interfaces:

Furthermore, a plug-in for integrating the Build Service into Eclipse is developed as a Google Summer of Code project,[9][10][11] as well as a plugin for Qt Creator.[12]

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[edit]

References[edit]

  1. ^ openSUSE renames OBS, news.opensuse.org, 2011-05-26, retrieved 2012-11-06
  2. ^ Open Build Service adds support for Arch Linux, openbuildservice.org, 2012-09-10, retrieved 2015-04-15
  3. ^ Complete openSUSE Build Service under GPL available, lists.opensuse.org, 2007-01-24, retrieved 2012-11-06
  4. ^ "News from the Summit: Linux Foundation to Make the openSUSE Build Service Available Through Linux Developer Network". Linux Foundation. Archived from the original on 2 April 2015. Retrieved 14 March 2015.
  5. ^ openSUSE:Build Service installations, opensuse.org, 2009-01-27, retrieved 2012-11-06
  6. ^ openSUSE's public Build Service, build.opensuse.org, 2012-05-25, retrieved 2012-11-06
  7. ^ openSUSE Build Service API Documentation, build.opensuse.org, retrieved 2013-07-09
  8. ^ openSUSE:OSC, opensuse.org, retrieved 2020-01-13
  9. ^ Google Summer of Code: Project Application Information, archived from the original on May 2, 2008
  10. ^ Long Hong sources tarball for BuildService, retrieved 2012-11-06
  11. ^ prebuilt BSUIPlugin-1.2.0.jar Eclipse plugin, build.opensuse.org, archived from the original on 2012-04-21, retrieved 2012-11-06
  12. ^ Project Bretzn, Social Desktop, 2010-10-26, archived from the original on 2013-03-02, retrieved 2012-11-06

External links[edit]