[systemd-devel] [PATCH 2/2] path-lookup: don't hardcode .config

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Sun Apr 13 02:25:22 PDT 2014


On Sat, 2014-04-12 at 19:30 +0200, Zbigniew Jędrzejewski-Szmek wrote:
> 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?

Yes, I can do that. It may take a while before I'll get around to that,
though.

-- 
Tanu



More information about the systemd-devel mailing list