<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div dir="ltr">Control: -1 by 955910</div><div dir="ltr"><br></div><div dir="ltr">On Sun, Apr 5, 2020 at 10:24 AM <<a href="mailto:smcv@debian.org">smcv@debian.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">dbus-glib is a deprecated D-Bus library with some significant design<br>
flaws, and is essentially unmaintained. I would like to minimize its<br>
use, and eventually remove it from Debian. There will not be a<br>
version that fixes its design flaws, because that would be a major<br>
compatibility break, and any user of dbus-glib who is willing to port<br>
their application to a newer, incompatible version should instead be<br>
porting their application to a better D-Bus implementation such as<br>
GDBus.<br>
<br>
For most purposes, the recommended replacement for dbus-glib is the<br>
GDBus family of APIs in GLib, found in <gio/gio.h>. This does not add<br>
an additional dependency, because dbus-glib already depends on a<br>
sufficiently new version of GLib. A porting guide is available in the<br>
GLib documentation:<br>
<<a href="https://developer.gnome.org/gio/stable/ch35.html" rel="noreferrer" target="_blank">https://developer.gnome.org/gio/stable/ch35.html</a>>. Practical<br>
examples of porting from dbus-glib to GDBus can be found in the git<br>
history of most older GNOME applications.<br>
<br>
Alternatives to GDBus, with different design emphasis and trade-offs,<br>
include sd-bus (systemd's D-Bus implementation), QtDBus (Qt's D-Bus<br>
API), and libdbus (the low-level reference D-Bus implementation).<br>
Please contact the D-Bus mailing list <dbus at <a href="http://lists.freedesktop.org" rel="noreferrer" target="_blank">lists.freedesktop.org</a>><br>
if you are unsure which D-Bus implementation is most suitable for a<br>
particular package.<br>
<br>
Some libraries expose dbus-glib as part of their API/ABI, in which<br>
case removing the deprecated dependency requires breaking API/ABI<br>
(telepathy-glib is a good example). For these libraries, maintainers<br>
should talk to the dependent library's upstream developers about<br>
whether the dependent library should break API/ABI and switch to<br>
GDBus, or whether the dependent library should itself be deprecated.<br>
<br>
In a few cases, the package uses the reference D-Bus library libdbus<br>
for all D-Bus-related APIs, and only uses dbus-glib as a way to<br>
connect libdbus to the GLib main loop: if the only functions<br>
referenced from dbus-glib are dbus_connection_setup_with_g_main() and<br>
dbus_server_setup_with_g_main(), then you are in this situation. The<br>
recommended replacement in this case is to bundle the dbus-gmain<br>
branch from the dbus-glib git repository, for example as a `git<br>
subtree` or `git submodule`. For example, dbus-python's GLib<br>
integration now works like this. See<br>
<<a href="https://gitlab.freedesktop.org/dbus/dbus-glib/blob/dbus-gmain/README" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/dbus/dbus-glib/blob/dbus-gmain/README</a><br>
.md> for more details. </blockquote><div><br></div><div>It looks like wmauda only uses dbus-glib because libaudclient uses dbus-glib, so I'm blocking this bug by the corresponding bug for that package.</div><div><br></div><div>And according to their website [1], libaudclient is no longer actively maintained.  It hasn't been uploaded to Debian since 2014, so I'm not very confident that we're going to see a fix lol.</div><div><br></div><div>Doug</div><div><br></div><div>[1]  <a href="https://www.audacious-media-player.org/download">https://www.audacious-media-player.org/download</a></div></div></div>