Bug#897577: cinnamon-settings-daemon: stop using deprecated libdbus-glib-1-dev
On Thu, 03 May 2018 at 15:10:39 +0200, Helmut Grohne wrote:
> On Thu, May 03, 2018 at 12:24:42PM +0200, Maximiliano Curia wrote:
> > What do you suggests as a replacement of dbus-binding-tool?
> It's not just about dbus-binding-tool. E.g. csd-datetime-mechanism.c
> says #include <dbus/dbus-glib.h>. That'll have to go away as well. We're
> talking about switching an entire library.
Am I right in thinking that cinnamon-settings-daemon is a fork of
gnome-settings-daemon? The modules that make up g-s-d were ported from
dbus-glib to GDBus (variously described as "GDBus" or "GIO's DBus API"
in NEWS) between versions 2.91.2 (2010) and 3.3.90 (2012), according to
g-s-d's NEWS file. Many (all?) of those changes are probably applicable
dbus-binding-tool generates code that uses <dbus/dbus-glib.h>. To convert
c-s-d to GDBus, it would be necessary to change all calls into code
generated by dbus-binding-tool, and any hand-written dbus_foo() calls,
to their GDBus equivalents. The closest equivalent of dbus-binding-tool
for GDBus is gdbus-codegen.
is an example of conversion from dbus-glib to GDBus without using
gdbus-codegen. gnome-settings-daemon doesn't seem to use gdbus-codegen
for service-side code.
>From some searches on
https://github.com/linuxmint/cinnamon-settings-daemon it looks as though
the datetime plugin is the only part still using dbus-glib. The equivalent
in gnome-settings-daemon was deleted in
and replaced by a new plugin using systemd-timedated and Geoclue in
If it is a goal for Cinnamon to support non-systemd system services,
I would suggest using a compatible reimplementation of the timedated
such as <https://github.com/mlichvar/timedatex> rather than having a
Cinnamon-specific system-level daemon.