mirror of
https://git.yoctoproject.org/poky
synced 2026-10-04 13:30:54 +00:00
rootfs.py: fix run-postinsts removal on multilib images
ROOTFS_BOOTSTRAP_INSTALL in image.bbclass unconditionally stages run-postinsts into every image. When no delayed postinsts remain, _uninstall_unneeded() is supposed to remove it again, but the removal call used the bare "run-postinsts" package name without applying MLPREFIX. On a multilib image (e.g. lib32-core-image-minimal), the package that is actually installed is lib32-run-postinsts, so the unprefixed removal silently matches nothing and run-postinsts leaks into the final image manifest, along with its now-pointless init script / systemd unit. Expand MLPREFIX before removing the package, matching the pattern already used elsewhere in oe-core (e.g. oe/package.py) for package-name lookups that need to work across multilib variants. (From OE-Core rev: 2522a1ad4fb66af0a9ca146ca7a88aece8f471da) Signed-off-by: Kyungjik Min <dp.min@lge.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dfa5673907bdc5211671ecdfce8ab1fb332eae48) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
1 parent
1738c9a96e
commit
6661b25ca2
1 file changed
+2
-1
@@ -266,7 +266,8 @@ class Rootfs(object, metaclass=ABCMeta):
|
||||
delayed_postinsts = self._get_delayed_postinsts()
|
||||
if delayed_postinsts is None:
|
||||
if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")) or os.path.exists(self.d.expand("${IMAGE_ROOTFS}${systemd_system_unitdir}/run-postinsts.service")):
|
||||
self.pm.remove(["run-postinsts"])
|
||||
mlprefix = self.d.getVar('MLPREFIX') or ""
|
||||
self.pm.remove([mlprefix + "run-postinsts"])
|
||||
|
||||
image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs",
|
||||
True, False, self.d) and \
|
||||
|
||||
Reference in new issue
Block a user