summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Crowe <mac@mcrowe.com>2025-10-20 17:03:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-27 11:37:43 +0000
commit9ef3f820bba8957ebd5d155789611822fee8e62f (patch)
treed54f745c53c25924597a76e4ed4df2794944ee9a
parent2b871830dcfa7f9fdef89e113e6919d0d82fcfd2 (diff)
downloadpoky-9ef3f820bba8957ebd5d155789611822fee8e62f.tar.gz
multilib.bbclass: Filter ROOTFS_RO_UNNEEDED to fix uninstallation
When building an entire multilib image (e.g. lib32-core-image-minimal) we need to ensure that the unneeded packages in ROOTFS_RO_UNNEEDED get the multilib prefix applied before they are compared against the list of installed packages inside Rootfs._uninstall_unneeded() to decide whether they need to be installed. Before this change with local.conf containing: MACHINE = qemuarm64 require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE:virtclass-multilib-lib32 = "armv7at-neon" IMAGE_FEATURES = "read-only-rootfs" running: bitbake lib32-core-image-minimal tar tavf tmp/deploy/images/qemuarm64/lib32-core-image-minimal-qemuarm64.rootfs.tar.zst|grep postinst shows three files: -rwxr-xr-x 0/0 25 2018-03-09 12:34 ./etc/init.d/run-postinsts lrwxrwxrwx 0/0 0 2018-03-09 12:34 ./etc/rcS.d/S99run-postinsts -> ../init.d/run-postinsts -rwxr-xr-x 0/0 2153 2018-03-09 12:34 ./usr/sbin/run-postinsts whereas with this change there are no matching files. (From OE-Core rev: 77c35362fb13c75145f9f999216b3d879ab18b77) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/multilib.bbclass1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 677dbc854a..15056dac4d 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -116,6 +116,7 @@ python __anonymous () {
116 clsextend = oe.classextend.ClassExtender(variant, prefixes, d) 116 clsextend = oe.classextend.ClassExtender(variant, prefixes, d)
117 clsextend.set_filter("PACKAGE_INSTALL", deps=False) 117 clsextend.set_filter("PACKAGE_INSTALL", deps=False)
118 clsextend.set_filter("LINGUAS_INSTALL", deps=False) 118 clsextend.set_filter("LINGUAS_INSTALL", deps=False)
119 clsextend.set_filter("ROOTFS_RO_UNNEEDED", deps=False)
119 clsextend.set_filter("RDEPENDS", deps=True) 120 clsextend.set_filter("RDEPENDS", deps=True)
120 pinstall = d.getVar("LINGUAS_INSTALL") + " " + d.getVar("PACKAGE_INSTALL") 121 pinstall = d.getVar("LINGUAS_INSTALL") + " " + d.getVar("PACKAGE_INSTALL")
121 d.setVar("PACKAGE_INSTALL", pinstall) 122 d.setVar("PACKAGE_INSTALL", pinstall)