[systemd-devel] systemd version debus call changed

Lennart Poettering lennart at poettering.net
Tue Feb 25 17:34:34 PST 2014


On Tue, 25.02.14 23:47, Jason A. Donenfeld (Jason at zx2c4.com) wrote:

> FYI to others experiencing weirdness, the Version api function changed
> between 208 and 209:
> 
> in 208:
> 
> zx2c4 at thinkpad ~ $ sudo qdbus --system org.freedesktop.systemd1
> /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager.Version
> systemd 208
> 
> 
> in 209 and 210:
> zx2c4 at thinkpad ~ $ sudo qdbus --system org.freedesktop.systemd1
> /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager.Version
> 210
> 
> 
> This apparently, as of writing, causes in KDE:
> https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/entry/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp#L48
> 
> In KDE, this breaks suspend support.
> 
> 
> In case anyone else hits this snag, here's the issue.

Yeah, KDE shouldn't have done that. This has been reported before. It's
even documented in the wiki page that we take the liberty to change the
formatting of that string any time:

http://www.freedesktop.org/wiki/Software/systemd/dbus/

It is totally non-sensical to check for software versions the way KDE
does it. We supply them with a call to check whether a certain operation
is available (CanSuspend(), CanHibernate(), ...). They should just call
that. It will tell them precisely whether the operation is not
implemented in the code, or whether it is available on the hardware, and
so on. But no, they decided to involve version checks...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list