Hi, On 2023-10-07 15:39, Maxim Cournoyer wrote: > Hi, > > Vivien Kraus <viv...@planete-kraus.eu> writes: > >> Glib has made /run the default runstatedir: >> >> https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3101 >> >> However, in Guix, the default runstatedir is /var/run. >> >> * gnu/packages/glib.scm (glib): Set runtime_dir to /var/run. >> --- >> >> I changed my mind again! Following the IRC discussion, Guix has a separate >> /var/run and /run (and puts /run/current-system/ in /run). So, /var/run/dbus >> is actually the correct place to put the system session socket.
I recommend consulting the dbus spec [1] (System message bus subsection). If I understood it correctly, `/var/run/dbus' is correct when the environment variable DBUS_SYSTEM_BUS_ADDRESS is not set. The /var/run/dbus or /run/dbus confusion is clarified in the third paragraph: “On systems where /var/run/ is known to be synonymous with /run/ (such as most Linux operating system distributions), implementations might prefer to make use of that knowledge to connect to or listen on unix:path=/run/dbus/system_bus_socket instead, […]” So it's up for the dbus implementation to detect whether /var/run/ is a symlink to /run and whether it wants to explicitly choose /run if that's the case though none of this is mandatory. […] > I still see /var/run as the legacy directory of /run, so I'd prefer we > standardize to use the modern variant to reduce this kind of friction > with the applications which will only grow in the future. My understanding is that the implementation should be placing them under /var/run/dbus but this is orthogonal to the value of runstatedir. In view with [2] I think runstatedir should be /run and Guix should be modernized to have /var/run symlinked to /run. [1]: <https://dbus.freedesktop.org/doc/dbus-specification.html> [2]: <https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s13.html> -- Furthermore, I consider that nonfree software must be eradicated. Cheers, Bruno.