Open Build Service by openSUSE
openbuildservice.org
openbuildservice.org
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]: http://en.opensuse.org/openSUSE:Build_Service_Tutorial
> This is in contrast with Canonical refusing to build packages for Debian...
False, as demonstrated by reading the full quote. There is no refusal there, just resource allocation in sorting out the infrastructure.
So there is a contrast. Ubuntu devs haven't made what would be a nice gesture toward their upstream distro. OTOH SUSE provides resources for building packages for several unrelated distros.
They make nice gestures toward their upstream distro all the time, just not this one, for which they have said that code contributions are welcome. 3913 nice gestures (in the form of patches) are logged at http://udd.debian.org/cgi-bin/ubuntu_usertag.cgi, for example.
> OTOH SUSE provides resources for building packages for several unrelated distros.
Sure, and Ubuntu has chosen to focus contributions in other areas. I think that's perfectly reasonable.
One issue here is that the build infrastructure around Launchpad is (presumably) designed around securely building packages for a single distribution. To support other distributions, it seems to me that it would need some mechanism for users to supply their own chroots, or some other way of maintaining those chroots. This is quite different from the Debian builder model, which is designed around third party build contributions. I imagine (I don't know) that this affects the amount of effort required to make this all work on Launchpad. Remember that PPA support was added in later, not present from the start (http://blog.launchpad.net/ppa/personal-package-archives-for-... looks like the original announcement).
On the other hand, as far as I understand SUSE designed their system to be able to handle several unrelated distros from the beginning. That presumably made it easier for them to do it.
I don't think it's fair to complain that X won't expend resources on something but Y will, when the amount of resource required by X and Y may differ quite considerably.
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.
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/
So it appears they do support different distributions, although I can't seem to find download links or examples.
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...
[2] http://software.opensuse.org/download.html?project=isv%3Aown...
Have a look here
https://build.opensuse.org/project/add_repository_from_defau...
for a (shortened) list of popular distros the OBS supports.
http://software.opensuse.org/download.html?project=openSUSE:...
or direct file access:
Fedora repositories were so bad for me that I ended up searching for Fedora packages on the openSUSE Build Service, and using those instead.
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.