[Development] glib's and Qt's RuntimeLocation [OS X]
Thiago Macieira
thiago.macieira at intel.com
Wed Nov 25 00:57:33 CET 2015
On Tuesday 24 November 2015 23:04:59 René J. V. Bertin wrote:
> Thiago Macieira wrote:
> > It mustn't be $TMPDIR. It needs to be a directory owned by the user so no
>
> You're missing a detail. On OS X, $TMPDIR (and QDir::tempPath()) *are* user
> specific. They're also very "immemorable"...
They're not required to be. If we can detect that they are, then sure, we
could use it as XDG_RUNTIME_DIR.
But we need to detect as otherwise someone could set TMPDIR before starting
the application.
> > It could be a subdir of $TMPDIR, but then we run into a race condition
> > problem of creating a secure subdir with a well-established name among
> > applications. That's why the XDG spec says that XDG_RUNTIME_DIR *must*
> > have been created when the user logs in and must be removed when the user
> > fully logs out.
> The former is true for $TMPDIR on OS X, but it is not deleted. The contents
> are wiped at reboot though, so the Unix fallback directory does get cleaned
> at that occasion.
>
> Do you have any idea what RuntimeLocation is used for on hosts that don't
> follow XDG principles (OS X, MS Windows) -- beyond what individual
> applications can decide evidently?
That's why QStandardPaths has a table in the documentation listing all
possibilities.
For Windows, it's C:\Users\<USER> (i.e., $HOME); Blackberry is /var/tmp;
Android has <APPROOT>/cache and it's not supported on iOS.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list