From 77c35362fb13c75145f9f999216b3d879ab18b77 Mon Sep 17 00:00:00 2001 From: Mike Crowe Date: Mon, 20 Oct 2025 17:03:53 +0100 Subject: [PATCH] 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. Signed-off-by: Mike Crowe Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/multilib.bbclass | 1 + 1 file changed, 1 insertion(+) 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 () { clsextend = oe.classextend.ClassExtender(variant, prefixes, d) clsextend.set_filter("PACKAGE_INSTALL", deps=False) clsextend.set_filter("LINGUAS_INSTALL", deps=False) + clsextend.set_filter("ROOTFS_RO_UNNEEDED", deps=False) clsextend.set_filter("RDEPENDS", deps=True) pinstall = d.getVar("LINGUAS_INSTALL") + " " + d.getVar("PACKAGE_INSTALL") d.setVar("PACKAGE_INSTALL", pinstall) -- 2.47.3