I have banged my head around integrating PackageKit into Jockey for several days now, and it’s driving me up the wall. While a standalone PackageKit client works very well, it completely breaks when I integrate the PackageKit client into my Jockey D-BUS backend.
At first I assumed I just made something wrong, so I tried a dozen different approaches, read the libpackagekit source, added a ton of debugging statements, but nothing helps, I never get back D-BUS signals from PackageKit while being in an inner gobject.MainLoop() in a D-BUS service handler. I use the exact approach that libpackagekit uses as well, so I don’t think I’m completely on crack.
I’m more and more convinced that this is an actual bug in dbus-python or perhaps in d-bus itself. I filed an upstream bug now, and really hope that some D-BUS expert can help me here.