[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4689/8267] image-container.bbclass: Error if not using linux-dummy



commit 5da9c1c38b31c5edb957ad22fd093c9bc3a2ecd7
Author: Randy Witt <randy e witt linux intel com>
Date:   Wed Jan 18 10:31:51 2017 -0800

    image-container.bbclass: Error if not using linux-dummy
    
    In the typical case of a container, the user doesn't particularly care
    about the kernel version used. Since using linux-dummy prevents building
    a kernel in the most common case, alert the user if they choose a
    container image, but don't also specify linux-dummy.
    
    In the cases the user actually does want to build against particular
    kernel headers, etc, they can override by setting
    IMAGE_CONTAINER_NO_DUMMY = "1".
    
    [YOCTO #9502]
    
    (From OE-Core rev: f0645e172bb839803d616f19307e1e81e0d204c0)
    
    Signed-off-by: Randy Witt <randy e witt linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/image-container.bbclass |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/meta/classes/image-container.bbclass b/meta/classes/image-container.bbclass
index a10ee32..f002858 100644
--- a/meta/classes/image-container.bbclass
+++ b/meta/classes/image-container.bbclass
@@ -1,3 +1,21 @@
 ROOTFS_BOOTSTRAP_INSTALL = ""
 IMAGE_TYPES_MASKED += "container"
 IMAGE_TYPEDEP_container = "tar.bz2"
+
+python __anonymous() {
+    if "container" in d.getVar("IMAGE_FSTYPES") and \
+       d.getVar("IMAGE_CONTAINER_NO_DUMMY") != "1" and \
+       "linux-dummy" not in d.getVar("PREFERRED_PROVIDER_virtual/kernel"):
+        msg = '"container" is in IMAGE_FSTYPES, but ' \
+              'PREFERRED_PROVIDER_virtual/kernel is not "linux-dummy". ' \
+              'Unless a particular kernel is needed, using linux-dummy will ' \
+              'prevent a kernel from being built, which can reduce ' \
+              'build times. If you don\'t want to use "linux-dummy", set ' \
+              '"IMAGE_CONTAINER_NO_DUMMY" to "1".'
+
+        # Raising skip recipe was Paul's clever idea. It causes the error to
+        # only be shown for the recipes actually requested to build, rather
+        # than bb.fatal which would appear for all recipes inheriting the
+        # class.
+        raise bb.parse.SkipRecipe(msg)
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]