On Sat, Apr 12, 2014 at 08:37:39AM +0300, Tanu Kaskinen wrote: > If XDG_CONFIG_HOME is set, then we should respect that. > --- > src/shared/path-lookup.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c > index 63af43c..a885b66 100644 > --- a/src/shared/path-lookup.c > +++ b/src/shared/path-lookup.c > @@ -135,8 +135,12 @@ static char** user_dirs( > * then filter out this link, if it is actually is > * one. */ > > + /* If home is non-NULL, then config_home must be > + * non-NULL as well. */ > + assert(config_home); > + > mkdir_parents_label(data_home, 0777); > - (void) symlink("../../../.config/systemd/user", data_home); > + (void) symlink(config_home, data_home); > } The change is good, as it fixes a misbehaviour for people who have non-default settings for XDG_CONFIG_HOME and XDG_CONFIG_DATA. But we really want to keep the path relative, since home directories tend to be mounted at different points in the hierarchy (e.g. on the host, and in the containers), so it would be annoying for the general case to have an absolute path here. Can you add a function which makes the symlink relative by stripping the common prefix and adding '../' as necessary and use it here?
Zbyszek _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel