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