jliljebl / flowblade

Video Editor for Linux
GNU General Public License v3.0
2.68k stars 181 forks source link

Replacing Dbus-python #1127

Closed Disaster2life closed 1 year ago

Disaster2life commented 1 year ago

Was looking through the dependencies (unrelated update to the documentation upcoming), and I realised that Flowblade still relies on dbus-python which is heavily outdated, quoting the python wiki "dbus-python is a legacy API, built with a deprecated dbus-glib library" and it seems we are just using dbus for batch rendering, the same page mentions alternatives, I went through all those, pydbus is already a part of GI, so one less dependency, same goes for dasbus, but this has seen more development, and the about me mentions it being used for the anaconda installer, so well tested? dbus-next seems good, and is a complete native implementation of the dbus protocol, same goes for txdbus.

But none of these seem to be still maintained?(None of them have had commits in the last year) From what I understand, the best solution seems to be just interacting with GDbus, But GDBus also is something I don't completely understand, and thus cannot promise I would be able to make a pull request for it.

If I could be told how exactly this small change should probably go, hopefully I would be able to shift over to something easier to maintain, and allow us to integrate DBus more into other parts of the program even.

jliljebl commented 1 year ago

Ok, thanks for the info. Actually, if we really need to drop the current DBus dependency I'll just hack the IPC communication via disk files. I don't like DBus at all, and getting rid of it would be preferable to moving to another dependency.

Any changes in this Issue won't be in release 2.12, but dropping DBus seems quite appealing. We are not doing anything that complex with DBus, so I might drop DBus for 2.14.

Disaster2life commented 1 year ago

I have no real likeness for DBus myself, seeing that it was listed on dependencies.md, I went through and did some basic research, I don't think even the IPC hacking is really worth the effort? I am not really sure why it is used alone in batch renders, I don't think much would be missed by dropping dbus as a whole, (though batch renders don't fit my workflow, so I can't say).

jliljebl commented 1 year ago

I decided to do this immediately. DBus in no longer required for Flowblade.