I’ve tried a couple of times over the last few weeks to build amaroK out of subversion so that I can help with their GStreamer 0.10 powered backend.
My usual method of developing stuff is to have a checkout somewhere under ~/devel. If the project supports running uninstalled, I’ll just work with it there. If it requires installation (as amaroK seems to), I like to install to ~/install.
Under no circumstances will I install to /usr, because it puts the package management system into weird states and it’s always a PITA to recover later. Plus, it makes thomasvs haemorrhage nastily.
How is this relevant? Well, I was given the impression that KDE apps absolutely need to be installed in the same prefix – unless I felt like building ALL of KDE in another prefix, I would need to install amaroK into /usr.
Armed with this knowledge, I tried building packages of an SVN snapshot. For some reason (again, I’m told) creating a snapshot tarball of amaroK’s SVN requires an active svn account, which I don’t have because I’m not a KDE developer. Hence, I would have to rely on someone else’s SVN snapshot tarballs to build packages from. In addition, building a package and installing it takes a relatively long time and would severely hamper my speed. I gave it up as a bad approach after spending around an hour to get a build package of amaroK 1.4.0-RC1 , and went off to do something productive.
About a week later, I tackled the problem again. This time, markey mentioned a variable called KDEDIRS. It turns out that by doing:
all my problems magically go away – I can run ‘amarokapp’ manually, debug it etc, and it correctly finds all its resources and whatnot in my preferred prefix.
So now, I have that exported from my ~/.xsession-vars file, along with all my normal PATH, LD_LIBRARY_PATH, PYTHONPATH and friends and everything just works.
4 thoughts on “Running KDE apps out of tree”
> For some reason (again, Iâ€™m told) creating a
> snapshot tarball of amaroKâ€™s SVN requires an
> active svn account
I don’t know if there’s anything special you need to make a snapshot tarball (can’t think of anything), but people without accounts can use anonsvn:
Yep, anoncvs is how I’m getting an svn checkout to play with, but I couldn’t see how to build my own snapshot tarball from that, and one of the #amarok guys mentioned it needed perms in order to run a script to build the tarball.
Looking at the script (release_scripts/release_amarok.rb) it only does checkouts, so all you need to do is modify the hardcoded svn URLs to the right host (anonsvn.kde.org) and protocol (svn://).
Some of the other scripts (for tagging etc.) do actually need write access, but I don’t think you need those to make a snapshot tarball.
Aha, cool ta. That might come in handy at some point, but now I’ve figured out how to use KDEDIRS and unsermake, I don’t need it just yet huzzah! 🙂