
Open Build Service by openSUSE - albertzeyer
http://openbuildservice.org/
======
m_rcin
I use OBS to provide Linux packages of the latest version of my project for
multiple Linux distros. Because of the release cycle Linux distros usually
come with older versions of the program, so when the user reports a problem
it's handy to have an easy way for her to update and try the latest version.
(Compilation from sources is not an easy way)

I spent many hours to write a spec file portable enough to build on
OpenSuse/Fedora/RHEL/Mandriva (there was Mandriva Linux at that time), and to
prepare debian/ directory, but after this initial work updating spec/debian
and triggering builds for a new release takes only a few minutes.

I really appreciate that SUSE is providing resources to build packages for
other distros. This is in contrast with Canonical refusing to build packages
for Debian in PPA[1]:

"PPA builds consume a great deal of resources and it's difficult justify
spending that amount of money as a gift, especially if the net effect would be
to encourage people to build packages which don't necessarily work with
Ubuntu."

[1]
[https://bugs.launchpad.net/launchpad/+bug/188564](https://bugs.launchpad.net/launchpad/+bug/188564)

~~~
zimbatm
OBS looks great but somehow I always get hung at the learning phase. Is there
some pointers that you recommend for new users to build their own packages ?

~~~
rmk2
The first thing to look at is probably the tutorial[1], followed by the wiki
page about OSC[2], which is the command-line tool that interfaces with OBS
itself. The Packaging Guidelines[3] provide additional information for
specific use cases, corner cases and packages and is also quite helpful!

[1]:
[http://en.opensuse.org/openSUSE:Build_Service_Tutorial](http://en.opensuse.org/openSUSE:Build_Service_Tutorial)

[2]:
[http://en.opensuse.org/openSUSE:OSC](http://en.opensuse.org/openSUSE:OSC)

[3]:
[https://en.opensuse.org/openSUSE:Packaging_guidelines](https://en.opensuse.org/openSUSE:Packaging_guidelines)

------
rmk2
OBS is a fantastic service. As other comments have pointed out, you can build
for other distributions as well, but as an openSUSE user, I use it for quite a
bit.

Some of the packages I would otherwise compile locally but that don't need to
be in the distribution itself, I simply compile on there, add my personal
repository to my repository list and they will stay in sync with other build
requirements etc. On top of that, this allows me to have them in the package
manager proper, and I can easily build my packages for multiple openSUSE
versions, usually current (13.1), Tumbleweed and Factory.

OBS also makes it really easy to fork packages to fix something and/or apply
patches, and depending on what kind of changes one made, it also includes pull
requests. That way you can fix or extend a piece of software via forking, and
if it works and might be useful for everybody, you can send your changes to
the maintainer, who can integrate it if they find them adequate. This makes it
quite a bit easier and lowers the barriers of helping "upstream" with
improving the whole distribution.

------
Game_Ender
Is this openSUSE only, or can you build packages for other distributions with
this service? It's hard to tell from their documentation or website.

EDIT: The openSUSE instance [0] says:

The openSUSE Build Service is the public instance of the Open Build Service
(OBS) used for development of the openSUSE distribution and to offer packages
from same source for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other
distributions..

[0] - [https://build.opensuse.org/](https://build.opensuse.org/)

So it appears they do support different distributions, although I can't seem
to find download links or examples.

~~~
milliams
I've used it in the past to build software for openSUSE, Fedora, Ubuntu,
Debian, Mandriva, Arch and more.

For example, the owncloud package is built for a whole load (list on the right
of [1]) and can provide a download page like [2].

[1]
[https://build.opensuse.org/package/show/isv:ownCloud:communi...](https://build.opensuse.org/package/show/isv:ownCloud:community/owncloud)

[2]
[http://software.opensuse.org/download.html?project=isv%3Aown...](http://software.opensuse.org/download.html?project=isv%3AownCloud%3Acommunity&package=owncloud)

~~~
mijoharas
Can you actually build for Arch with this? I can't see an option for this,
(thinking it might be a typo of yours). In addition, I'm trying to figure out
how it works, what form do you need to upload the package as?

~~~
hennevogel
Yes you can. And for debian, ubuntu, fedora, RHEL, SLES, CentOS, UCS. Of
course all of them in multiple versions and in X86, X86_64, ARM, s390, PPC.

Have a look here

[https://build.opensuse.org/project/add_repository_from_defau...](https://build.opensuse.org/project/add_repository_from_default_list/home:hennevogel)

for a (shortened) list of popular distros the OBS supports.

~~~
mijoharas
Thanks, I was trying to find a list like that, I guess my searching let me
down.

------
ihnorton
Quite remarkably, it supports Windows too (via cross-compilation). The Julia
WinRPM tool [1] automatically downloads dependencies for various Julia
packages from OBS - including some very interdependent, complex libraries like
Glib and Gtk.

[1]
[https://github.com/JuliaLang/WinRPM.jl](https://github.com/JuliaLang/WinRPM.jl)

------
TallGuyShort
The SUSE engineers and community really make some fantastic tools. I was a
long-time openSUSE user but I found the package repositories were not so well
maintained and eventually I switched away, but tools like Zypper (the only
mainstream Linux package manager that gives you fine-grained control on what
to do if a package dependency cannot be fulfilled - a pet peeve of mine on
Debian systems), SUSEStudio (web service for interactively building Linux
appliances, Live CDs, etc) and it's back-end Kiwi, etc. - really very cool
stuff.

~~~
mijoharas
Out of interest, what did you switch to? Debian?

~~~
TallGuyShort
Fedora

~~~
joepie91_
That surprises me. I've used Fedora for a while (it was preinstalled on a
laptop that was gifted to me), and found that the repositories were both much
smaller and much less well-maintained than the equivalents on openSUSE.

~~~
TallGuyShort
I have found a few handy tools that openSUSE had packaged long before Fedora.
I think the credit for that goes to openSUSE's much more accessible build
service :) Haven't had any issues with the repositories, myself, though - been
using Fedora on and off since F11.

~~~
joepie91_
It mostly does. There are a few things that are in openSUSEs main repositories
and not in those of Fedora, but in many cases the openSUSE packages were
indeed in user repositories.

Fedora repositories were so bad for me that I ended up searching for Fedora
packages on the openSUSE Build Service, and using those instead.

------
cyberiad
You can download packages from
[http://software.opensuse.org/search](http://software.opensuse.org/search)
Click on the button far right to go to the detailed search, which allows to
select a distribution.

------
jilted
Open Build Service has always been one of the more attractive features of
OpenSuSe, along with Suse Studio.

Unfortunately, after spending some time with the newest release of OpenSuSe, I
found it had become very bloated and I feel I will never return to the
distribution.

The straw on the camel's back was finding out about the 'tmpfiles.d' or
similar. Seems very messy and got me thinking about the direction some of the
Linux distributions are going.

~~~
jilted
Of course, this is only an opinion, and in general the Suse engineers have
always done some great work.

