On Wed, 11.12.13 15:54, da...@davidstrauss.net (da...@davidstrauss.net) wrote:
> From: David Strauss <da...@davidstrauss.net> > > --- > src/shared/install.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/src/shared/install.c b/src/shared/install.c > index 17e8a75..14c0f4b 100644 > --- a/src/shared/install.c > +++ b/src/shared/install.c > @@ -423,6 +423,11 @@ static int find_symlinks_fd( > bool found_path, found_dest, b = false; > int q; > > + /* Skip symlinks with a different basename than > + * the target unit */ > + if (!streq(basename(de->d_name), name)) > + continue; > + > /* Acquire symlink name */ > p = path_make_absolute(de->d_name, path); > if (!p) This isn't right. Units might be symlinked under different names, we need to support that. For example, all template instances carry a different name for the symlink then for the source. We need to find a different solution here. Maybe introduce a cache object or so where we load everything we find in too and that can be indexed by the target rather then the name of a symlink. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel