From: Lukas Nykryn Date: Fri, 11 Sep 2015 14:23:07 +0000 (+0200) Subject: sysv-generator: follow symlinks in /etc/rc.d/init.d X-Git-Tag: v227~114^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7b729f8686a83b24f3d9a891cde1c35a6aa37cf9;p=thirdparty%2Fsystemd.git sysv-generator: follow symlinks in /etc/rc.d/init.d Some java packages puts a symlink to init.d and its content is pointing to latest java installation (because you can have multiple javas on you machine). On rhel-based distributions you can use alternatives --initscript instread of symlink, but this is not usable for other distributions. --- diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c index 45b119362c1..f9950c8ab9b 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c @@ -739,7 +739,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { if (hidden_file(de->d_name)) continue; - if (fstatat(dirfd(d), de->d_name, &st, AT_SYMLINK_NOFOLLOW) < 0) { + if (fstatat(dirfd(d), de->d_name, &st, 0) < 0) { log_warning_errno(errno, "stat() failed on %s/%s: %m", *path, de->d_name); continue; }