Recap: I have a bootloader recipe that uses both the primary AArch64 cross-toolchain and an AArch32 cross-toolchain. I arrange for those toolchains to be available by setting MULTILIBS for the machine and adding the multilib compiler to DEPENDS for the recipe. However, this means that the AArch32 sysroot for the recipe is not cleaned up correctly by do_clean since it is outside WORKDIR.
On Friday 08 September 2017 at 07:53:41 +0100, Richard Purdie wrote: > Option 3 may be to have the core staging.bbclass clean code iterate > over the sysroots, it sounds like its creating them, just not cleaning > them up, which is kind of a bug. "clean" is a slow path so even a tiny > performance hit there for this likely isn't an issue... Sorry for the delay, but I'm finally looking at this again. I've read through staging.bbclass and I'm not sure what the best way to implement what you suggest is. The simplest way would be to build up a deduplicated list of sysroots from the destsysroot assignments in extend_recipe_sysroot. If this list differs from RECIPE_SYSROOT then stick the result in a variable and add a function to CLEANFUNCS to perform the cleanup. Unfortunately, this adds code to the normal build path which, based on your comment above, is probably not acceptable. The alternative would be to always add a function to CLEANFUNCS which runs the same loop as extend_recipe_sysroot to identify the sysroots and remove them (the primary ones should have already been deleted by do_clean at that point.) This should have no effect on the normal build path, but the code will probably not be updated if extend_recipe_sysroot changes in the future. Or, something else. Do you have any further advice? Thanks. Mike. -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
