Bug in XDG Base Directory Specification
elektra at markus-raab.org
Fri Nov 28 02:56:02 PST 2014
Florian Müllner wrote:
> "$XDG_CONFIG_DIRS defines the preference-ordered set of base directories to
> search for configuration files in addition to the $XDG_CONFIG_HOME base
> So $XDG_CONFIG_HOME should always take precedence over any directory
> defined in $XDG_CONFIG_DIRS, using the default $HOME/.config location if
> the variable is undefined. A tool like kdb should read defaults from
> $XDG_CONFIG_DIRS, but never write anything there.
In Elektra "normal" applications would use /sw/application to access their
configuration. In that case, files in $XDG_CONFIG_DIRS would be a fallback,
iff a key is not available in the namespace user/ (the feature is called
cascading), but every write attempt would be user/ (i.e. $XDG_CONFIG_HOME for
XDG). The XDG specification handles this simple case well.
The kdb-tool (or any Elektra based tool that does not use pathes that start
with /), however, is intended to give the admin full control over all the
system's configuration files. The admin can decide via the namespaces "user"
(e.g. user/sw/application), respective "system" (e.g. system/sw/application)
if he/she wants to configure a file for a specific user (in $XDG_CONFIG_HOME),
respective globally (for every user by modifications in /etc/).
From your argumentation I can conclude that the XDG specification simply does
not support full programmatical control over configuration files, but only
handles the simple consumption-case, i.e. when applications do not change
Positively said, I would argue that the XDG standard also does not prohibit
such endeavour, because the relevant phrases are "should" and not "shall"
and/or speak about "user-specific" and not about "system" configuration files,
e.g.: "There is a single base directory relative to which user-specific
configuration files should be written." and "should be made to create it with
So the "bug" boils down to spelling and small clarifications as others already
If XDG wants to go further and also want to standardize such tools, I am open
Markus Raab http://www.libelektra.org
Technische Universität Wien elektra at markus-raab.org
Institut für Computersprachen Phone: (+431) 58801/185185
Argentinierstr. 8, 1040 Wien, Austria FAX: (+431) 58801/18598
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 828 bytes
Desc: This is a digitally signed message part.
More information about the xdg