Make XDG_DATA_DIRS obey the basedir spec #8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The "XDG Base Directory Specification" defines that when XDG_DATA_DIRS is unset the value of
/usr/local/share/:/usr/share/
should be used:::RbConfig::CONFIG['datadir']
call in some environments (e.g. RVM installed Ruby) returns something different. In my case it was"/home/user/.rvm/rubies/ruby-2.6.5/share"
. This violates the specification. Also due to this violation one specific software project didn't work correctly for me out-of-the box.I think that most of the GNU/Linux installation actually define
XDG_DATA_DIRS
explicitly so this code doesn't use the fallback in most of the cases and that's why this went unnoticed. But in the cases whenXDG_DATA_DIRS
this could lead to bugs.