systemd-systemctl: Fix handling of aliased targets

The script scans for services, parses them and makes sure those targets are still
there. The exists file check fails if the target is an alias, such as default.target
so add an additional test.

[YOCTO #13685]

(From OE-Core rev: 10bdbf033e51c97f6408c9114d480372135a2c2e)

(From OE-Core rev: 64d305024e0514b832da05867672f61d1b5b3225)

Signed-off-by: Werner Grift <sky.captin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Slavic Brutalik 2019-12-13 00:30:54 +02:00 committed by Richard Purdie
parent ccff952d9c
commit 07ae996d84

View File

@ -172,7 +172,7 @@ class SystemdUnit():
def _path_for_unit(self, unit):
for location in locations:
path = self.root / location / "system" / unit
if path.exists():
if path.exists() or path.is_symlink():
return path
raise SystemdUnitNotFoundError(self.root, unit)