Moving .gnucash and friends from $HOME to XDG_DATA_HOME (and impact on other applications like KMyMoney)

Adonay Felipe Nogueira adfeno at hyperbola.info
Thu Aug 24 08:52:34 EDT 2017


I'm not an experienced developer, but I should add that there is more
variables related to the XDG Base Directory Specification than
${XDG_DATA_HOME}, see the latest at
[[https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html]].

Also the Filesystem Hierarchy Standard does allow "${HOME}/.gnucash"
directory, but limits its content to "user configuration files". See
[[http://refspecs.linuxbase.org/FHS_3.0/fhs/ch03s08.html]]. The same
specification defines that these files can also be executable scripts,
but can't be dynamic nor binary.

While, in the XDG Base Directory Specification, GnuCash could for,
configuration files, look up for these inside ${sysconfdir},
${XDG_CONFIG_HOME} and each of ${XDG_CONFIG_DIRS}; as for "data files"
(?), ${datadir}, ${XDG_DATA_HOME} and each of ${XDG_DATA_DIRS}.

Things like: whether it should persist looking for more files even after
finding the first/desired ones in the most prefered location (and so
having to manage conflict of settings and files)... is all left to those
implementing the specification. The XDG Base Directory Specification
does make it clear that, "_HOME" suffixes are most important, seconded
by "_DIRS" suffix (in order from most important to not so important),
and finally followed by the system distribution-specific lowercase "dir"
suffix.

GNU `make` already has documentation describing conventions which
default these lowercase "dir" suffixed variables to appropriate values,
see
[[https://www.gnu.org/software/make/manual/html_node/Directory-Variables.html]].


-- 
- [[https://libreplanet.org/wiki/User:Adfeno]]
- Palestrante e consultor sobre /software/ livre (não confundir com
  gratis).
- "WhatsApp"? Ele não é livre. Por favor, use o GNU Ring ou o Tox.
- Contato: [[https://libreplanet.org/wiki/User:Adfeno#vCard]]
- Arquivos comuns aceitos (apenas sem DRM): Corel Draw, Microsoft
  Office, MP3, MP4, WMA, WMV.
- Arquivos comuns aceitos e enviados: CSV, GNU Dia, GNU Emacs Org, GNU
  GIMP, Inkscape SVG, JPG, LibreOffice (padrão ODF), OGG, OPUS, PDF
  (apenas sem DRM), PNG, TXT, WEBM.


More information about the gnucash-devel mailing list