From: Richard Purdie Date: Fri, 7 Jul 2017 12:12:31 +0000 (+0100) Subject: staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps X-Git-Tag: uninative-1.7~222 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=c440298674ab3b960c83a127eedb9e1b66bddf78;p=openembedded-core.git staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps The commands: bitbake nodejs-native; bitbake nodejs-native -c clean; bitbake nodejs-native; bitbake -c addto_recipe_sysroot nodejs-native; bitbake -c devshell nodejs-native; bitbake -c addto_recipe_sysroot nodejs-native; bitbake -c devshell nodejs-native; never result in npm in the sysroot within devshell. The reason is the addto_recipe_sysroot stamp isn't removed when do_fetch is run but the sysroot is cleaned. With this patch, the second devshell will contain npm, which I think is probably the best outcome we can hope for here. [YOCTO #11461] Signed-off-by: Richard Purdie --- diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index fe8229499a..8f470d523b 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -559,6 +559,9 @@ addtask do_prepare_recipe_sysroot before do_configure after do_fetch # Clean out the recipe specific sysroots before do_fetch # (use a prefunc so we can order before extend_recipe_sysroot if it gets added) python clean_recipe_sysroot() { + # We remove these stamps since we're removing any content they'd have added with + # cleandirs. This removes the sigdata too, likely not a big deal, + oe.path.remove(d.getVar("STAMP") + "*addto_recipe_sysroot*") return } clean_recipe_sysroot[cleandirs] += "${RECIPE_SYSROOT} ${RECIPE_SYSROOT_NATIVE}"