[meta-virtualization] [PATCH] cri-o: skip it when depends not found

mingli.yu at windriver.com mingli.yu at windriver.com
Fri Jul 26 02:10:51 PDT 2019


From: Mingli Yu <Mingli.Yu at windriver.com>

cri-o depends on ostree, libselinux and libseccomp
and we should check if the layer which provides these
recipes exist or not before go on.

Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
---
 recipes-containers/cri-o/cri-o_git.bb | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/recipes-containers/cri-o/cri-o_git.bb b/recipes-containers/cri-o/cri-o_git.bb
index c27aef7..b0c0ce4 100644
--- a/recipes-containers/cri-o/cri-o_git.bb
+++ b/recipes-containers/cri-o/cri-o_git.bb
@@ -42,6 +42,28 @@ RDEPENDS_${PN} = " \
     cni \
     "
 
+python __anonymous() {
+    msg = ""
+    # ERROR: Nothing PROVIDES 'libseccomp' (but /buildarea/layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb DEPENDS on or otherwise requires it).
+    # ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
+    # Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'cri-o', 'libseccomp']
+    if 'security' not in d.getVar('BBFILE_COLLECTIONS').split():
+        msg += "Make sure meta-security should be present as it provides 'libseccomp'"
+        raise bb.parse.SkipRecipe(msg)
+    # ERROR: Nothing PROVIDES 'ostree' (but /buildarea/layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb DEPENDS on or otherwise requires it).
+    # ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
+    # Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'cri-o', 'ostree']
+    elif 'cube' not in d.getVar('BBFILE_COLLECTIONS').split():
+        msg += "Make sure meta-cube should be present as it provides 'ostree'"
+        raise bb.parse.SkipRecipe(msg)
+    # ERROR: Nothing PROVIDES 'libselinux' (but /buildarea/layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb DEPENDS on or otherwise requires it).
+    # ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
+    # Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'cri-o', 'libselinux']
+    elif 'selinux' not in d.getVar('BBFILE_COLLECTIONS').split():
+        msg += "Make sure meta-selinux should be present as it provides 'libselinux'"
+        raise bb.parse.SkipRecipe(msg)
+}
+
 PACKAGES =+ "${PN}-config"
 
 RDEPENDS_${PN} += " virtual/containerd virtual/runc"
-- 
2.7.4



More information about the meta-virtualization mailing list