Samstag, 7. Juli 2007

liquidat on OpenSuse Build Service

liquidat writes:
[...]
The look into the crystal ball

The OBS could become a central place for distributing software in
the FLOSS world: every software project could create the necessary
binaries there for all bigger distributions. [...]
Well, as someone that maintains rpm packages in different repositories for some years now I tend to doubt that -- the interdependencies of FLOSS software are way to complex: lot of stuff further is moving in parallel forward quickly all the time and makes it ever more complicated.

Sure, for a pure apps that does not provide libs to be used by other software I suppose it will work in a acceptable way (well, as long as the distribution they were build against don't do major updates to library packages without providing compat packages. Which is the case in Fedora; see recent libupnp update -- soname was bumped in new version but no compat package in sight afaics).

It should even work to get one or two apps with libs from the OBS add-on repo for Fedora to have them always in their latest and greatest version.But I tend to think the more uncoordinated repos you mix the more problems users will run into.

Heck, even within Fedora we run into broken dependency's in our own repos often. Then there are the inter-repo problems into which users run now and then when they try to mix the three big 3rd party repos for Fedora. Now just imagine what happens if five uncoordinated mini-repos from the OBS with libfoo, libbar, foobar, baz and barbaz come into the mix... Sounds like major trouble to me.

Well, time will tell -- maybe I'm painting it way to black here. Or tools (RPM, yum, ...) will get better.

The imho real solution for the Fedora project would be to have special experimental repos for special things that are not yet ready for rawhide or stable. KDE4 would be a good candidate for such a repo atm; kernel-vanilla as well. Maybe it would even be the right place for kernel module packages.

Kommentare:

liquidat hat gesagt…

Thanks for the thoughtfully comment.
And I do agree that (major) libraries are unlikely to be shipped through the OBS anytime soon, that would hardly work.
Actually, the big 3rd party repos do have mix-problems because they sometimes replicate important libraries/backends like mplayer so that's a pretty "good" example for the problems which would likely occur.

However, my focus is more on stand alone apps: proprietary apps (Skype, Google Earth), development snapshots or apps too small/too specific to be included in Fedora.

In these cases you seldom have esoteric dependencies (ok, sometimes in development you have, but lets skip that for the sake of the argument). I thought that for such purposes it could work.
But what do you think? I don't have experiences in managing software for more than one distribution (yet), but I'm interested to hear opinions from the "real world" :)

Thorsten "thl" Leemhuis hat gesagt…

> However, my focus is more on stand alone
> apps: proprietary apps (Skype, Google
> Earth),

Well, if they can be in a OBS repo it should be possible to include them in livna or freshrpms as well; and I'm sure there would be people willing to maintain those apps there.

> development snapshots

Yeah, for those it might make sense now and then.

> or apps too small/too specific to be
> included in Fedora.

There are no restrictions like that in Fedora, so I think those should just be included there ;-)

Francis Giannaros hat gesagt…

At the moment more of the point is that even some extra huge selections of packages can be _trivially_ (and I mean this; just a few clicks) be made for particularly all RPM-based distributions in the OBS.

That is, for things like the latest stable KDE, or the latest KDE4 packages (built daily on openSUSE), or the latest GNOME packages, a few extra conditionals into the spec files means it can fully work very well (and of course be of high quality packages) for Fedora, Mandriva, etc. The OBS really makes all of this, like automatic triggering of re-builds (something like 150 servers now, so you barely have to even hang around to see if things build), resolving depends, etc.

Just for example, the latest stable version of KDE was built and maintained in the OBS for Fedora and Mandriva for quite some time (but I take it there wasn't much interest). This could really save people some time as well as help out users in all of these distributions by bringing them great quality packages very quickly (note that openSUSE always has the latest KDE packages, for example, before release time).

Kevin Kofler hat gesagt…

Unfortunately, I disagree with the "high quality" part. Most packages I've seen on the OBS have had one or the other "SUSEism" in there which isn't wanted in Fedora or Mandriva packages. It's very hard to comply with the Fedora packaging guidelines with a cross-distribution specfile.

As for KDE packages, I'm particularly sceptical about those. KDE is packaged very differently in OpenSUSE and Fedora, so if those are just built from the OpenSUSE specfiles, they'll cause no ends of problems on Fedora!

liquidat hat gesagt…

"Well, if they can be in a OBS repo it should be possible to include them in livna or freshrpms as well"
Sure, in theory this is possible - but this does not work in the reality at all: of course everyone could get every piece of software into the repositories. But that would also mean that each project would have at least three packagers (one for each larger distribution), and that is totally unrealistic. Not to mention the doubled/tripled and therefore totally wasted effort of packaging the same piece of software over and over again.

I mean, if I check any larger Linux software database like kde-apps, gnomefiles.org or freshmeat I'm mainly faced with software which is not included in the repositories. That is the reality: the major amount of available software is simply not in the repositories. And that situation hasn't changed for years now. And it does not look at all that it will change in the future.
So no, in reality the current attempt simply does not work.

"There are no restrictions like that in Fedora"
That's only half-true - if you want to submit a package to Fedora you are explicitly asked to submit more (to also show your abilities of managing a package). As a result a single project cannot by rule submit a single package.

Kevin Kofler hat gesagt…

That's not true, one can get sponsored with a single package.

If the package is at all KDE-related, contact the KDE SIG, we have at least 2 members with sponsorship privileges (Rex Dieter and Chitlesh Goorah).

liquidat hat gesagt…

Ok, I should be more clear: you are asked to submit more packages, but you don't have to. But it might take more time till your sponsorship if you only submit a single package.

Still, this does not clear the main point: I doubt that it is a realistic approach to hope that all software get packaged several times. If it would be realistic, why doesn't it happen?