[systemd-devel] [PATCH] hostnamectl: correct IDs for remote hosts

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Jun 2 05:31:02 PDT 2014


On 01/06/14 20:03, Mantas Mikulėnas wrote:
> Out of curiosity, wouldn't the existing
> org.freedesktop.DBus.Peer.GetMachineId() work here?

In principle Peer.GetMachineId() returns the D-Bus machine ID
/var/lib/dbus/machine-id, which in rare cases won't match the systemd
machine ID /etc/machine-id, unfortunately. (Perhaps systemd's Peer
implementation prefers the systemd machine ID anyway, though.)

On a distribution that runs the correct setup steps in packages' dpkg
postinst, RPM %post or equivalent, those rare cases are:

* systemd was installed *before* dbus (i.e. systemd-machine-id-setup
  was run before dbus-uuidgen)

* the first dbus version to be installed was one with Bug #77941,
  i.e. 1.8.0 or older (that bug was fixed in 1.8.2)

In practice, most systems won't get into that situation, because
installing dbus before systemd is likely to be more common: the sort of
users and vendors who will install systemd are probably the same sort of
users and vendors who would already have installed dbus, and systemd
packages are likely to have a weak dependency on dbus anyway (e.g. in
Debian, systemd Depends: libdbus-1-3 which Recommends: dbus).

    S



More information about the systemd-devel mailing list