[yocto] [meta-swupd][PATCH] swupdimage.bbclass: ensure that do_rootfs gets executed

Patrick Ohly patrick.ohly at intel.com
Mon Sep 12 00:09:26 PDT 2016


OE-core commit 6d969bacc718e changed do_rootfs so that it creates
IMGDEPLOYDIR. That change broke the creation of additional swupd
images, because setting do_rootfs to empty caused the entire task to
be skipped, including the evaluation of the 'cleandirs' task
attribute.

It remains to be seen whether that's really the desired behavior (see
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10256), but as it is
what it is right now, we need to avoid the situation by overwriting
do_rootfs with non-empty code that doesn't do anything. That way, the
directory gets created.

Signed-off-by: Patrick Ohly <patrick.ohly at intel.com>
---
 classes/swupdimage.bbclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/classes/swupdimage.bbclass b/classes/swupdimage.bbclass
index 20bd4c8..56aa60a 100644
--- a/classes/swupdimage.bbclass
+++ b/classes/swupdimage.bbclass
@@ -48,7 +48,11 @@ python swupdimage_virtclass_handler () {
     e.data.setVar("IMAGE_BUNDLE_NAME", imageext)
     # We override the default methods such that they only copy from the mega rootfs.
     e.data.setVar("do_image", "    import swupd.rootfs\n    swupd.rootfs.create_rootfs(d)\n")
-    e.data.setVar("do_rootfs", "")
+    # do_rootfs must not be empty, because empty tasks get skipped
+    # and we don't want that for do_rootfs because its cleandirs
+    # variable triggers the creation of the IMGDEPLOYDIR that we
+    # are going to write into.
+    e.data.setVar("do_rootfs", "    pass")
     # Depend on complete bundle generation in the base image.
     dep = ' %s:do_stage_swupd_inputs' % pn_base
     e.data.appendVarFlag('do_image', 'depends', dep)
-- 
2.1.4




More information about the yocto mailing list