Should not include SystemdService= in D-Bus .service file if built without systemd support
org.freedesktop.GeoClue2.service.in unconditionally contains the following line:
SystemdService=geoclue.service
However, if at build time GeoClue cannot determine the correct directory to install systemd units, the geoclue.service
systemd unit is not installed.
In this configuration it is not possible to D-Bus activate GeoClue, because the D-Bus daemon will emit a signal telling systemd to activate geoclue.service
, and systemd will not be able to do so. See https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2689 for an example of this issue in the wild.
While installing a GeoClue built without systemd support on a system that does actually use systemd could probably be classed as a misconfiguration, it is at least theoretically supported. So I believe that the SystemdService
line should be included if and only if the geoclue.service
systemd unit is being installed.