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 to c-s-d. 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. https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/d7cd7cfef5c77e16e6693b8991cb2ae5a187db12 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 <https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/27fa171efe4179c0a42ec79e0dc501077f042a08> and replaced by a new plugin using systemd-timedated and Geoclue in <https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/876590336fdb1292852061509a0dba5385cd1805>. If it is a goal for Cinnamon to support non-systemd system services, I would suggest using a compatible reimplementation of the timedated API <https://www.freedesktop.org/wiki/Software/systemd/timedated/> such as <https://github.com/mlichvar/timedatex> rather than having a Cinnamon-specific system-level daemon. smcv