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 <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>
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)