Support XDG_RUNTIME_DIR being unset

Pekka Paalanen ppaalanen at gmail.com
Mon Mar 11 11:01:45 PDT 2013


On Mon, 11 Mar 2013 10:12:08 -0700
Thiago Macieira <thiago.macieira at intel.com> wrote:

> On segunda-feira, 11 de março de 2013 17.10.53, Emilio Pozuelo Monfort wrote:
> > The XDG base directory specification[1] says that "If $XDG_RUNTIME_DIR
> > is not set applications should fall back to a replacement directory
> > with similar capabilities and print a warning message."
> > 
> > Currently we abort if XDG_RUNTIME_DIR is not set. The following patches
> > fall back to ~/.cache, as GLib does.
> 
> Which relevant and recent distribution does not set XDG_RUNTIME_DIR?

Gentoo.

But still, Emilio, the reason we on purpose fail on missing
XDG_RUNTIME_DIR is that there is no suitable "replacement directory
with similar capabilities" to be found in general.

For example, falling back to anything under $HOME will fail for
nfs-mounted home, I believe.

The requirements for XDG_RUNTIME_DIR are actually quite difficult
to fill without specific distribution support. Especially the following:

"The directory MUST be on a local file system and not shared with
any other system. The directory MUST by fully-featured by the
standards of the operating system. More specifically, on Unix-like
operating systems AF_UNIX sockets, symbolic links, hard links,
proper permissions, file locking, sparse files, memory mapping,
file change notifications, a reliable hard link count must be
supported, and no restrictions on the file name character set
should be imposed."

- http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Therefore we want the user to explicitly shoot himself in the
foot if they have to. We actually used to have a fallback for
XDG_RUNTIME_DIR being unset, and it only caused confusion.


Thanks,
pq


More information about the wayland-devel mailing list