#955957 torbrowser-launcher: Depends on deprecated dbus-glib

#955957#5
Date:
2020-04-05 14:20:51 UTC
From:
To:
dbus-glib is a deprecated D-Bus library with some significant design
flaws, and is essentially unmaintained. I would like to minimize its
use, and eventually remove it from Debian. There will not be a
version that fixes its design flaws, because that would be a major
compatibility break, and any user of dbus-glib who is willing to port
their application to a newer, incompatible version should instead be
porting their application to a better D-Bus implementation such as
GDBus.

For most purposes, the recommended replacement for dbus-glib is the
GDBus family of APIs in GLib, found in <gio/gio.h>. This does not add
an additional dependency, because dbus-glib already depends on a
sufficiently new version of GLib. A porting guide is available in the
GLib documentation:
<https://developer.gnome.org/gio/stable/ch35.html>. Practical
examples of porting from dbus-glib to GDBus can be found in the git
history of most older GNOME applications.

Alternatives to GDBus, with different design emphasis and trade-offs,
include sd-bus (systemd's D-Bus implementation), QtDBus (Qt's D-Bus
API), and libdbus (the low-level reference D-Bus implementation).
Please contact the D-Bus mailing list <dbus at lists.freedesktop.org>
if you are unsure which D-Bus implementation is most suitable for a
particular package.

Some libraries expose dbus-glib as part of their API/ABI, in which
case removing the deprecated dependency requires breaking API/ABI
(telepathy-glib is a good example). For these libraries, maintainers
should talk to the dependent library's upstream developers about
whether the dependent library should break API/ABI and switch to
GDBus, or whether the dependent library should itself be deprecated.

In a few cases, the package uses the reference D-Bus library libdbus
for all D-Bus-related APIs, and only uses dbus-glib as a way to
connect libdbus to the GLib main loop: if the only functions
referenced from dbus-glib are dbus_connection_setup_with_g_main() and
dbus_server_setup_with_g_main(), then you are in this situation. The
recommended replacement in this case is to bundle the dbus-gmain
branch from the dbus-glib git repository, for example as a `git
subtree` or `git submodule`. For example, dbus-python's GLib
integration now works like this. See
<https://gitlab.freedesktop.org/dbus/dbus-glib/blob/dbus-gmain/README
.md> for more details.

#955957#12
Date:
2020-04-18 08:17:55 UTC
From:
To:
control: tags -1 upstream
control: forwarded -1 https://trac.torproject.org/projects/tor/ticket/10014

found the upstream bug above.
seems it marked as wontfix, because it relies on firefox, the upstream
of upstream.

Cheers,

#955957#21
Date:
2020-04-20 04:43:21 UTC
From:
To:
And ticket from upstream of upstream:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1532281

#955957#32
Date:
2025-08-27 16:49:01 UTC
From:
To:
Revisiting this 5 years later, does torbrowser-launcher still need
dbus-glib? Firefox upstream dropped the dependency in v120, and Debian's
firefox-esr followed this up by dropping their build-dependency in 2024
(version 128.5.0esr-1, #955891).

libglib2.0-0t64 and libdbus-1-3 might still be needed - adding
dependencies on those to replace libdbus-glib-1-2 would not be a
problem, and does not prevent this bug from being closed.

     smcv

#955957#37
Date:
2026-04-24 10:36:29 UTC
From:
To:
Control: severity -1 important

I'm raising the bug reports for remaining uses of dbus-glib to important
severity. It's now been 11 years since dbus-glib was documented as
deprecated in its own NEWS file, and it hasn't got any better-quality or
more-maintained since then.

It might be useful to note that since the initial MBF in 2018, the
migration guide from dbus-glib to GDBus has moved to
<https://docs.gtk.org/gio/migrating-gdbus.html>.

     smcv