diff options
author | Pavel Zhukov <pavel@zhukoff.net> | 2024-02-09 20:27:28 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-10 14:13:24 +0000 |
commit | 0010d9fbd25c343ecb18014cbe5d0dd036edb651 (patch) | |
tree | 13bddbb8c6002fdae7ba149a825dd36a9dfedfdd /meta/classes-recipe | |
parent | 9e6e34210a3e89fee166fa5bbab888cd29ebf981 (diff) | |
download | poky-0010d9fbd25c343ecb18014cbe5d0dd036edb651.tar.gz |
systemd.bbclass: Check for existence of the symlink too
If the packages' service file is a link to parameterized service file
provided by different package [1] then link is dangling link at
do_package stage and os.path.exists(path) returns False even if the link
exists. Replace os.path.exists with lexists to fix this issue.
[1]
An example:
Package A provides myservice@.service
Package B depends and rdepends on A and provides:
myservice@B.service -> myservice@.service
(From OE-Core rev: e2b638dcd6b7c51f7ee2cd4bc051d6b12e642d6c)
Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe')
-rw-r--r-- | meta/classes-recipe/systemd.bbclass | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes-recipe/systemd.bbclass b/meta/classes-recipe/systemd.bbclass index 9a16babe43..48b364c1d4 100644 --- a/meta/classes-recipe/systemd.bbclass +++ b/meta/classes-recipe/systemd.bbclass | |||
@@ -170,7 +170,7 @@ python systemd_populate_packages() { | |||
170 | base = service[:at] + '@' + service[ext:] | 170 | base = service[:at] + '@' + service[ext:] |
171 | 171 | ||
172 | for path in searchpaths: | 172 | for path in searchpaths: |
173 | if os.path.exists(oe.path.join(d.getVar("D"), path, service)): | 173 | if os.path.lexists(oe.path.join(d.getVar("D"), path, service)): |
174 | path_found = path | 174 | path_found = path |
175 | break | 175 | break |
176 | elif base is not None: | 176 | elif base is not None: |