openSUSE:Build Service comparison

(Redirected from openSUSE:OBS talking points)
Jump to: navigation, search
The Open Build Service is not the only system for package building, let's look at these other systems a bit.

Strength of OBS

Think of OBS as a gitorious for package creation: you can easily clone a project and play with it in your home project. Change compilation flags to add features, add patches, build it for other OS'es like Debian, Ubuntu and Fedora or fix bugs in the packaging. You can then contribute back your changes by doing a merge request.

build.opensuse.org supports 21 operating systems on 6 architectures and OBS offers full control over the packaging process, making it the ultimate packaging platform.


  • Building for multiple distributions
  • User friendliness. Using OBS one can start as a novice packager using just the web interface and progress to more advanced features using OSC.
  • Support for any OS and architecture due to the use of VM's for building the packages. This includes Windows (experimental) and Mac OS X (if anyone would want to work on that).
  • Can also build full OS images, containers, appliances, 'golden images' for bare metal deployments or virtual machines
  • Automatic rebuilding on dependency change (for all build formats)
  • Supports not only the typical compressed source formats but can also pull directly from GIT, SVN and other SCM's
  • Open System – nice integration with IDEs like QtCreator, Eclipse and others; Forges and tools
  • Collaboration features which makes working within -devel projects and the main distro far easier. This significantly lowers the barriers for participating in openSUSE or collaboratively working on (groups of) packages. Clone a project, play with it in your own home and use merge requests to get your changes back to the project you cloned.
  • Automatic dispatch to world wide mirrors. For upstream projects this is a very nice feature to enable them to provide fast local mirrors for their users.
  • Automated quality control within the build system: rpmlint and post-build checks.the OS images
  • Setup on a new system for a private OBS is quite easy to accomplish for a reasonably competent Linux user. There are even SUSE Studio images available.

Other systems

Note that the list below is not complete.

Project Builder

Project Builder is a tool for multi platform continuous packaging, it seems to target single projects.

Fedora Koji

Fedora Koji is the build system that Fedora uses to build their distribution.

Ubuntu Launchpad

Launchpad is not only a package building platform but a complete code hosting platform together with mailing lists and bug tracker.

Mandriva Build System

The Mandriva Build System is used to build the Mandriva distribution.

BuildBot

buildbot is a system to automate the compile/test cycle required by most software projects to validate code changes.

Poky

Poky, part of the Yocto project, aims to build custom images for embedded devices using profiles. Supports limited number of packages via 'recepies', using Bitbake, gentoo-portage based tool. Uses Qemu to build & test, offers integration in Anjuta and Eclipse.

Comparison

Name Public instance Easy local install Connection of instances Build for own distribution Multi Archictecture support Build for other distributions Build packages not in distribution Collaboration on packages Package formats Create Images Fetch from GIT/SVN/etc Automatic rebuild External API Control via webinterface Command Line User Interface Open Source
Fedora Koji yes yes no yes no no no yes rpm yes no ? yes limited yes yes
Launchpad yes no no yes yes no yes yes deb no yes no yes yes no yes
Mandriva Build System yes no no yes yes no no yes rpm todo todo no yes no yes (uses OBS now)
Project Builder no yes no no yes yes yes ? deb,rpm,ebuild,pkg no no ? no yes yes yes
Buildbot no yes no yes(1) yes(1) no no no n.a. no yes n.a. yes yes (read-only) yes yes
Poky/ Yocto no yes no yes yes no no no rpm, deb, ipg, tgz yes yes yes yes no yes yes
Open Build Service yes yes yes yes yes yes yes yes deb, rpm,tgz(2),exe(2) yes yes yes yes yes yes yes
Github yes no yes no no no no yes n.a. no yes no yes yes yes no
Gitlab yes yes yes no no no no yes n.a. no yes no yes yes yes partly (Open Core)
Jenkins no yes yes yes yes yes yes n.a. n.a. yes yes no yes yes admin only yes
  • (1) doesn't generate actual packages...
  • (2) experimental/in development

See also

External links