manatools / dnfdragora

dnfdragora is a dnf frontend based on libyui abstraction
GNU General Public License v3.0
137 stars 41 forks source link

can dnfdragora provide org.freedesktop.PackageKit session bus service? #137

Open sharkcz opened 5 years ago

sharkcz commented 5 years ago

This came in https://github.com/hughsie/PackageKit/issues/326 when I'm trying to get gstreamer helper working for non-x86 arches for multimedia applications like parole. To allow that something must provide org.freedesktop.PackageKit session bus service that's called by the helper to do the actual installation. https://bugzilla.redhat.com/show_bug.cgi?id=1411236 is also related.

Conan-Kudo commented 5 years ago

Currently dnfdaemon does not provide the system or session bus for PackageKit. I've been happy to not implement that and leave it to PackageKit, since the DNF backend there is very good compared to the others.

If someone wants to implement these aspects in dnfdaemon and dnfdragora, it could be done, but I think you're probably better off actually fixing PackageKit, because there's a large ecosystem around PackageKit (with many frontends that are better than GNOME Software, like Plasma Discover, Apper, etc.) and only terrible people would actually break that for the Linux ecosystem.

Conan-Kudo commented 5 years ago

Oh wait, this is for a desktop that doesn't have a PackageKit frontend (Xfce specifically)?

It's possible, but I don't currently have the time to do the implementation. I'd welcome contributions if it's so desired.

sharkcz commented 5 years ago

yes, I mean for desktops like XFCE

Conan-Kudo commented 5 years ago

My understanding is that the session bus is implemented by the frontend, which delegates to the system bus (dnfdaemon in our case) for the actual install. This can be mimicked in dnfdragora because it has a similar architecture to your average PackageKit frontend.

Some code to the frontend to add support for the PK session bus listener is required, which probably means we need a tiny daemon app that can kick the main UI when that happens, similar to the updater applet.

It shouldn't be too much work to add it, and if you need help with it, you can reach out and I can try to assist.