Was working on the amarok bundle again this weekend. Same problem. Can't get klauncher to load kio_file from within amarok.app. I'm not sure that this will work eventually either. What I've done is include almost everything amarok needs to run, external dependencies as well, in the bundle. I thought the external dependencies, which for our purposes, is software not provided by
In relation to dbus, an external installer is the simplest way to get around it needing things installed outside of our sandbox. Then there's the shared-mime-info package. That requires some black magic which we can probably take care of programatically. It would be far easier to simply install to the user's computer and have a post-flight script do the work for us instead. And let's not even get to xine. Really. Let's not. In any case, phonon-qt7 should solve everything. Really. I believe in the phonon folks. They will come to our rescue.
BUT I DIE GRESS.
Instead, what I find myself fighting with is
Contents -
- MacOS
- Frameworks
- share
- lib
The MacOS and Frameworks dirs are OS Xisms. The things in share, (images, translations) would ideally go in a Resources directory. The code of course isn't setup to look for that. Instead what happens is, we look at what directory the app's executable is in, cd up to its parent directory, which is Contents, and then look for the normal directory structure there. It kinda works; if the only things to be found were items provided by Amarok. Once I start putting lib is loaded once I use the install_name_tool to point to the correct location of libraries. Everything except the kioslaves.
In hunting down this bug I've discovered far more about how
If the kioslaves are in their installed location, they load fine. If they're in the bundle they don't get found. Even though everything else in lib and under it does get found. Even the bloody kded modules that no one gives a rat's ass about on OS X. But the stuff we want to work, the stuff we need to work: Nooooooooooooo. We can't load that. That would just make too much sense. It's enough to drive a man to curse. I'm holding it in though. But I figured all this out in the middle of last week. I spent my weekend painstakingly adding things to the bundle, to see where the problem lie. I thought it might have something to do with the fact that I moved klauncher from its normal location @ lib/kde4/libexec to MacOS, which in our bundles acts as the bin dir. That's where kded4.app and knotify.app and kdeinit4.app are as well. Actually, anything from libexec which I need was placed in MacOS. You know what the problem really is though?
Wait for it...
Steve Jobs hates me. Having come to this realization I gave up. Actually, that's a lie. I just wanted to go see Speed Racer at the IMAX. So I did. And it was awesome. I haven't touched that damn bundle except to delete it since. In the interim I did think of possible solutions to my little problem. One involves having individual bundles for kdeinit4, kded, and knotify, and loading klauncher and the kioslaves into kdeinit4.app. I'll tell you more after it works. Or not.
illogic-al.Org