Comment 2 for bug 766949

Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote :

For reference let me first paste the relevant section from the spec:

---------- START SNIP
$XDG_RUNTIME_DIR defines the base directory relative to which user-specific non-essential runtime files and other file objects (such as sockets, named pipes, ...) should be stored. The directory MUST be owned by the user, and he MUST be the only one having read and write access to it. Its Unix access mode MUST be 0700.

The lifetime of the directory MUST be bound to the user being logged in. It MUST be created when the user first logs in and if the user fully logs out the directory MUST be removed. If the user logs in more than once he should get pointed to the same directory, and it is mandatory that the directory continues to exist from his first login to his last logout on the system, and not removed in between. Files in the directory MUST not survive reboot or a full logout/login cycle.

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. Files in this directory MAY be subjected to periodic clean-up. To ensure that your files are not removed, they should have their access time timestamp modified at least once every 6 hours of monotonic time or the 'sticky' bit should be set on the file.
------------ END SNIP

So what I am interested in is some standard directory with these features - and hopefully adding to that that it was an in-memory FS mounted on XDG_RUNTIME_DIR.

The reason I thought that init was needed was because of the lifetime thing in the second paragraph. Some daemon bound to a particular user session would not be able to fulfil these requirements afaics? (or at least not without the help from some privileged daemon running outside the session scope)

And I guess I implicitly assumed some of the talk that has been around upstart as a session manager - which wasn't very clear communication on my part, sorry :-)