Skip to content

Give preference to desktop-specific providers if they exist

username-removed-132265 requested to merge desktop-override-providers into master

Desktops providing the same file for a specific provider (eg. google.provider) can now install those into /usr/share/accounts/{providers, services}/$XDG_CURRENT_DESKTOP directory and libaccounts-glib will ensure that a particular service requesting a particular provider first reads the desktop specific files, only then it fallbacks to the other ones in /usr/share/accounts/{providers, services}/.

More generally, the lookup algorithm looks for g_get_system_data_dirs() and appends lowercase XDG_CURRENT_DESKTOP to each search path first, then tries the unaltered search path. In case two same providers exist, only the desktop specific one is loaded.

Merge request reports