According to the XDG Base Directory Specification, “The base directory defined by $XDG_DATA_HOME is considered more important than any of the base directories defined by $XDG_DATA_DIRS.” However, DBUS currently gives $XDG_DATA_DIRS priority over $XDG_DATA_HOME when looking for service directories. This makes it unnecessarily difficult to override a system service file as a normal user.
Created attachment 43568 [details] [review]
Give XDG_DATA_HOME priority over XDG_DATA_DIRS for servicedirs
Here’s a patch, tested on Ubuntu natty.
Thanks, I committed your patch. Will be fixed in 1.4.8, 1.5.0.
Unfortunately, this breaks the regression tests (which I forgot to run before pushing). Proposed patch on the way.
Created attachment 43764 [details] [review]
config-parser regression test: don't require that fd.o #34496 exists
The directories are now obviously the way round we want them: the user's locally-installed things have precedence over the sysadmin's system-wide-installed things, which have precedence over things from the distribution.
Review of attachment 43764 [details] [review]:
Thanks. FYI, when committing a patch written by someone else, you can use either ‘git am’ or ‘git commit --author=…’ to preserve the authorship information.
(In reply to comment #6)
> Thanks. FYI, when committing a patch written by someone else, you can use
> either ‘git am’ or ‘git commit --author=…’ to preserve the authorship
Yeah, I did use `git am`, but the attribution got lost during conflict resolution and I didn't spot it until I'd already pushed. Sorry about that...
*** Bug 35569 has been marked as a duplicate of this bug. ***
(In reply to comment #8)
> *** Bug 35569 has been marked as a duplicate of this bug. ***
Thanks. Would it be possible to backport this fix to 1.4.6 (the stable branch)? Ubuntu Natty is nearing release, and I would hate to deal with buggy Ubuntus for years to come now.