]> code.ossystems Code Review - openembedded-core.git/commitdiff
staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 7 Jul 2017 12:12:31 +0000 (13:12 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 8 Jul 2017 12:34:00 +0000 (13:34 +0100)
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 <richard.purdie@linuxfoundation.org>
meta/classes/staging.bbclass

index fe8229499a8b9d2c8670b554dd9e875e0197577c..8f470d523bfa12051f91e29642143722e6c77836 100644 (file)
@@ -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}"