jkt's blog


State of KDE 4.1 in Gentoo

Dear lazyweb, it's been some time since KDE 4.1 was tagged. Gentoo, which used to be one of the most bleeding-edge distribution, has apparently failed to deliver this highly expected product to its mainstream users. We already have even a KDE developer complaining about what a miserable job we did. Well, I'm not going to deny the fact that the lack of KDE 4.1 in Portage probably doesn't make users happy, but let's see what the reasons are. Perhaps I can even persuade the P. T. reader that the statement "nothing happened in the Gentoo land" is false :).

I should probably add a disclaimer that even though I'm a Gentoo developer and have a KDE SVN account as well, I don't maintain KDE packages in Gentoo, nor do I hack on core KDE code. My KDE role is limited to working on KPhotoAlbum.

The Package Manager

First of all, one has to admit that the package manager in Gentoo has had some long-standing issues which weren't exactly easy to solve. Due to the extremely wide set of options a user might have when installing a package (I'm talking USE flags here), testing all of these options is not a trivial task. Moreover, the possibility to depend on a package being built with some specific USE flag wasn't available until recently etc.

Preparing a package for a source-based distribution is not as easy as rolling out a binary package.

I won't go into much detail as it'd be probably pretty boring for an average reader, but a quick summary is that the KDE team went ahead and instead of keeping using the same hacks that were employed in kde-3 ebuilds, they drafted a new revision of EAPI, the standard that describes functions available to and the interaction among the ebuilds, the Gentoo packages (think about a .spec file for RPM). From user's point of view, and especially in the short term, there are no immediate benefits, and the big downside is that this whole process takes a lot of time. From a technical POV, though, this is the right decision, no doubts about it.

The way of creating a new EAPI is not that easy, though. As we're talking about a standard which is going to affect Gentoo as a whole, a lot of people want to make sure there are no obvious issues with the specification. One of the results is that there's usually some talk going on on the various mailing lists, one has to work closely with package manager authors to make sure that all the cool ideas are actually implementable etc. And note that one really can't use the new EAPI in the main Portage tree until it's approved. (The good thing is that it apparently got approved during the last Council meeting, which happened such a short time ago that we don't have a summary from it yet :) )

The Manpower

Yep, there were personal issues involved as well. Three members of the KDE team left Gentoo, others got pretty busy with Real Life™ and other projects of their own. While we are already seeing other people stepping up and helping the KDE team, the lack of manpower is certainly a problem. Gentoo, being a non-profit distribution and what not, can't afford having a paid developer working on KDE packages. I'm sure there are other (even source-based) distributions who aren't backed up by any company, either, but you should take this into consideration before you declare Gentoo as "dying".

The Code

So, if you've managed to read the whole mess up to this point, I guess you deserve a reward of some kind. So, what about a KDE 4.1 package? What? You thought that it is not available? Oh sure it is! It isn't in the main tree (remember, you can't use unapproved EAPI in the official tree), but available through an overlay and adding it is not really such a big problem. Please go on, read the instructions and enjoy KDE 4.1 on Gentoo!

Got a comment? Feel free to mail them to me!
Tags: gentoo, kde.