On Sun, 04 Sep 2016 at 19:24:09 +0100, Jonathan de Boyne Pollard wrote: > You think that a good "replacement directory" is /run/user/$EUID . Alright. > Then when your program is told address=unix:runtime=yes and there's no > XDG_RUNTIME_DIR, please make it fall back to using the directory that you > think is the advisable directory to use.
No, I think that /run/user/$EUID is a good choice for the OS infrastructure (systemd-logind or equivalent) to make. D-Bus implementations are merely one specific user of XDG_RUNTIME_DIR; it is not their place to set a specific interpretation of how to fall back when this variable is unset, and it is not their place to define semantics for /run/user, a directory that you will notice does not mention dbus or D-Bus anywhere in its name. D-Bus implementations should use the XDG per-uid runtime directory as a rendezvous point *if* that directory is going to have all the required properties (specified lifetime guarantee, cleaned up automatically on logout, etc.). OS infrastructure can signal that it provides those properties for a directory, and indicate what the right directory is, by arranging for that environment variable to be in user processes' environments. If you want to use interoperable protocols that rely on XDG_RUNTIME_DIR, set an XDG_RUNTIME_DIR, otherwise your protocol is not going to be interoperable. You are writing to the mailing list for the development of Debian, in a thread about the src:dbus source package and how the rest of Debian should interact with it. The dbus binary package deliberately does not *require* the user-bus model, for the reasons I outlined in the mass bug filing; the dbus-user-session source package does require the user-bus model, but it also depends on packages that ensure that $XDG_RUNTIME_DIR is set. Everything else is not relevant to Debian, until/unless it is in Debian. S [1] https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=d...@packages.debian.org;tag=dbus-launch-unless-dsba