Sorry Sput, but Quassel has to go from my systems

I’m going to get rid of Quassel in the next days unless something drastically changes, but since I really think that Sput was doing a hell of a good job, I’d like to point out what the problems are in my opinion.

There’s nothing wrong with the idea (I love it) nor with the UI (it’s not bad at all); having it be cross-platform also helps a lot. What I really feel is a problem, though, is the creeping in of dependencies in it. Which is not Sput’s fault for the most part, but it is a good example of why I think Qt and KDE development is getting farther and farther from what I liked about it in the past.

With KDE, the last straw was when I’ve noticed that to install Umbrello I had to install Akonadi, which in turn required me to install MySQL. I don’t use MySQL for myself, I used for a couple of web development jobs but I’d really like for it to stay stopped since I don’t need it on a daily basis. On the other hand I have a running PostgreSQL I use for my actual work, like the symbol collision analysis. I doubt that it would have required me to start MySQL or Akonadi to run Umbrello, but the problem was with the build system. Just like KDE guys bastardised autotools in what is one of the most overcomplex build systems that man was able to create in the KDE 3 series, they have made CMake even worse than it would be as released by Kitware (which, on the other hand, somehow seemed to make it a bit less obnoxious — not that I like it any better, but if one has the major need of building under Windows, it can be dealt with better than some custom build systems I’ve seen).

So the new KDE4 build system seems to pick up the concept of shared checks from KDE3, which basically turns down to be a huge amount of checks that are unneeded for most software but will be executed by all of it, just because trying to actually split the “modules” in per-application releases, like GNOME does already, is just too difficult for SuSE, sorry, KDE developers.

This time the dependency creep hit Quassel badly. The recent releases of Quassel added a dependency over qt-webkit to show a preview of a link when posted in IRC. While I think this is a bad idea (because, for instance, if there was a security issue in qt-webkit, it would be tremendously easy to get users to load the page), and it still has implementation issues when the link points to a big binary file rather than a webpage or an image, it can be considered an useful feature so I never complained about it.

Today after setting up the new disks the update proposed by portage contained an interesting request of installing qt-phonon. Which I don’t intend to install at all! The whole idea of having to install phonon for an application like Quassel is just out of my range of acceptable doings.

I was the first one to complain that GNOME required/requires GStreamer, but thanks to Lennart’s efforts we now have an easy way to play system sound without needing GStreamer, on the other hand, KDE is still sticking with huge amount of layers and complex engines to do the easiest of the tasks. I’m not saying that the ideas behind Solid and the like are entirely wrong, but it does feel wrong for them to be KDE-only, just like it feels wrong for other technologies to be GNOME-only. Lennart’s libcanberra shows that there is space for desktop-agnostic technologies implementing the basic features needed by all of them, it just requires work and coordination.

So now I’m starting up Quassel to check on my messages and then I’ll log it out, after installing X-Chat or something.

18 thoughts on “Sorry Sput, but Quassel has to go from my systems

  1. Dear Flameeyes,While I understand that you take offense at things that don’t work the way you expect them to, I take offense at the fact that you did no research about quassel before posting this entry. It took me all of ten seconds to load http://git.quassel-irc.org/… and spot the following lines:option(WITH_WEBKIT “Enable WebKit support (for link previews)”ON)option(WITH_PHONON “Enable Phonon support (for audio notifications)”ON)Now, I realize you dislike cmake, however, much like autotools, cmake allows you to enable or disable dependancies at build time. You can easily pass @-DWITH_PHONON=no@ (or, even better, use make_edit cache and get a pretty gui for it — Autotools can’t do that!).If this is an ebuild, than it seems fairly likely that the fault is of the gentoo packagers who do not use options properly, not of quassel. Please, direct your problems in the right direction, and don’t make overbroad blog postings when a solution is only a few minutes worth of looking away.

    Like

  2. I have no idea why the markup system decided I wanted to strike that line out, but it’s supposed to be a hyphen prefix, not a strikeout.

    Like

  3. All those dependencies are optional. You can install Quassel without depending on KDE, Webkit or Phonon:-DWITH_PHONON=0 -DWITH_WEBKIT=0 -DWITH_KDE=0Or, since you are a Gentoo user, just USE=”-webkit -phonon -kde”This will cost you the website preview, audio notifications and KDE integration.I’d be sad to see you go, in particular if it’s only because of optional dependencies…

    Like

  4. You both misunderstood my post which is what worries me most. The problem is not with a direct dependency on Phonon by Quassel, but rather the attitude Qt is having, that to have WebKit, you need Phonon. That I can’t understand.By the way I’m not maintaining Quassel ebuild anymore so I don’t know why there aren’t USE flags for those two, are they in the released tarballs at all?At any rate, I don’t have a problem with Quassel needing those two pieces by itself, optionally, but I do have a problem with Qt packages wanting to push stuff down my throat when it’s unrequested and unneeded.

    Like

  5. Installed versions: 9999(10:49:48 AM 02/12/2009)(X dbus kde linguas_de phonon ssl webkit -debug -linguas_cs -linguas_da -linguas_fr -linguas_nb_NO -linguas_ru -linguas_tr -monolithic -server)So the USE flags are definitely there. Older versions (0.3.1) don’t have KDE and Phonon support yet, hence no USE. I also do wonder why those flags seem to be set by default on your system (otherwise Portage wouldn’t want to pull them in)… they are not on mine. So unless you explicitly set USE=”phonon”, Quassel wouldn’t want to “push stuff down your throat” unrequestedly. Not sure why webkit is hard-dep’d on in 0.3.1-r4, maybe an overlook. In any case, 0.4.0 will be out in a few days and have all three components as optional USE, as does 9999 already.Concerning the rest: I don’t see any “attitude” with Qt offering optional modules that can do useful stuff. Both Webkit and Phonon can be built separately from Qt or left out at all, applications can check for their existence, and decide if they want to use them.What would be your suggestion if you were developing an application that needed a web component? Writing your own HTML renderer? What about audio output, on different platforms? Is something like SDL better than just using what comes with your toolkit for free and fully integrated?

    Like

  6. You still don’t get it. It’s not Quassel to require me Phonon directly, Quassel is requiring WebKit (all fine and dandy, I’m okay with that), but WebKit wants Phonon (mandatory!) for the <video> tag support for HTML5!That is the Qt attitude that I absolutely dislike.

    Like

  7. Aha… well, I did not know that, but of course it makes sense to use an abstraction layer for things like audio and video, especially if it comes with the same toolkit already. nsplugin support requires that probably too in 4.5.In any case, Quassel does *not* require Webkit, so you could either fix the 0.3.1 ebuild, use the 9999 ebuild (recommended) or wait a week or so until 0.4.0 is released. We are never going to require either Webkit, Phonon or KDE for Quassel, as we intend to deploy it on boxen that don’t have such things.Or you use XChat, of course. :>

    Like

  8. Flameeyes, you are wrong. Here are the dependencies for the qt-webkit package:DEPEND=”~x11-libs/qt-gui-${PV} !<=x11-libs/qt-4.4.0_alpha:${SLOT}”RDEPEND=”${DEPEND}”There is no dependency on Phonon for the Webkit component of Qt. At least not in 4.4 as packaged on Gentoo.Besides, why would it matter? You might as well gasp in horror that qt-webkit depends upon qt-gui (gasp!)

    Like

  9. Flameeyes,You may be aiming this at certain Qters and KDErs, but you missed fantastically. This post looks like a direct attack against Sput/Quassel, and any meaning there is gets lost in the noise of your rant.You said in a comment that you _actually_ don’t have a problem with Quassel and its direct dependences. So why post such inflammatory nonsense (look at the title)?You’re a much better writer than this and I usually appreciate your rants, but this one totally misfired.

    Like

  10. Jeff, look at 4.5, not 4.4. As for the qt-gui, I can understand that, I really cannot understand why there is a mandatory dependency over qt-phonon for something (the video tag) that is far from widely used, and which I’d sincerely prefer _not_ to have enabled by default on any of my machines to begin with. I would have been fine with an optional dependency, but a mandatory one is in my opinion a tremendously bad mindset.Casey, the reason why I called on to Sput and Quassel is because I knew Sput was sensible to this kind of problems, and wanted to inform him (which seems like I did). To quote him on the comment above “We are never going to require either Webkit, Phonon or KDE for Quassel, as we intend to deploy it on boxen that don’t have such things.”.Which is exactly what I wanted to hear. Since I know ranting from a non KDE-developer to TrollTech/Nokia will never be listened to, I was (and still am) hoping that Sput would be able to knock at the right doors to see that it won’t be a hard dependency forever.

    Like

  11. Since 4.5rc1 just hit Portage, I didn’t even have it on my machine yet (and since you don’t specify which version of Qt, others might also be hard pressed to verify your claims).But you’re still wrong.Try configuring Qt with “-no-phonon -webkit”. Configuration will complete successfully, spitting outPhonon module ……. no SVG module ………. yes WebKit module ……. yesThis is on a computer that has no phonon installed, either through a KDE phonon package or a Qt one. Seems more like an optional runtime dependency than a requirement.Maybe you should apologize to the Qt Software guys (and the Quassel guys, and perhaps KDE developers as well) and direct your anger at Ben de Groot (yngwin@gentoo.org) for making an ebuild that requires phonon as a hard dependency, when phonon is actually an optional dependency of the qt-webkit module.

    Like

  12. And here I am thinking this would be a rant about the damn PIM system requiring mysqld installed and running to support flat databases. Oh well, a rant for another time ;)

    Like

  13. Kdepimlibs (and thus akondi with mysql) dependencies will be lifted a bit in Gentoo packages soon.

    Like

  14. Could you include the information from some of the comments in the original post?Many people will only read the post and get a wrong impression from it.

    Like

  15. I do want to use quassel, but the developers seems very GNU/Linux+gcc centric which makes it hard to compile on other platforms… There is a direct inclusion of cxxabi.h :/

    Like

  16. Webkit requiring phonon is much better than every damn browser requiring a flash plugin, and half of them being broken.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s