From 1383fde3457168ed759d6ed3b913dfae8a6085ef Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Thu, 5 Mar 2020 16:23:07 -0800 Subject: uhd: paths: Harmonize around XDG Base Directory specification Up until now, we completely ignore the XDG specification. This commit does the following to change that: - It uses XDG_DATA_HOME and XDG_CONFIG_HOME for cal and config data, respectively. - If config data is in ~/.uhd/uhd.conf, that is still accepted, but if it conflicts with $XDG_CONFIG_HOME/uhd.conf, it is ignored and a warning is displayed - The default location for cal data is thus ${HOME}/.local/share/uhd/cal on Unix, and %LOCALAPPDATA%\uhd\cal on Windows. This is a change in location! - The UHD_CONFIG_DIR environment variable was confusingly named and is now removed. It provided an alternative location than the home directory. The same purpose is now much better served by XDG_DATA_HOME and XDG_CONFIG_HOME. The specification can be found here: specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html --- host/docs/configfiles.dox | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'host/docs/configfiles.dox') diff --git a/host/docs/configfiles.dox b/host/docs/configfiles.dox index bc210eba9..f32274e73 100644 --- a/host/docs/configfiles.dox +++ b/host/docs/configfiles.dox @@ -55,9 +55,9 @@ directly. \%programdata%/uhd/uhd.conf. The default can be overwritten at compile time by setting `UHD_SYS_CONF_FILE` through CMake. 2. A user-specific configuration file. On Unix systems, it defaults to - `$APPDATA/.uhd/uhd.conf`, where `$APPDATA` is usually the same as the user's - home directory, unless `$APPDATA` or `$USER_CONFIG_DIR` are defined. On - Windows systems, it simply resolves to \%appdata%. + `$XDG_CONFIG_HOME/uhd.conf`, where `$XDG_CONFIG_HOME` is usually the same as + `$HOME/.config`. On Windows systems, it also checks + \%localappdata% and \%appdata%. The default can be overwritten at compile time by setting the `UHD_USER_CONF_FILE` through CMake. 3. A configuration file specified by the environment variable `UHD_CONFIG_FILE` -- cgit v1.2.3