summaryrefslogtreecommitdiffstats
path: root/meta-agl-lxc/classes/guest-kernel-module.bbclass
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2021-10-25 12:30:36 -0400
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-26 14:30:36 +0000
commited47409f52b66ef02de34916563de197955259b3 (patch)
tree60376b8fb257bc2f91d26792a5bc013dc9eb4776 /meta-agl-lxc/classes/guest-kernel-module.bbclass
parent098325d668eb2096dcd810bd24b25c81e24500db (diff)
meta-agl-lxc: Support rcar3 kernel module headers in guests
Add a bbclass that can be used to disable compilation in module.bbclass based recipes, and dynamically activated bbappends for the rcar3 kernel module recipes that use it and guest-build-specific do_install overrides to get the userspace API headers installed transparently to the userspace recipes. This avoids the complications that would arise from using a full linux-renesas kernel build for guest container images. Bug-AGL: SPEC-4089 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I917e66ca024a2a507e615ba3a2a58c603a691142
Diffstat (limited to 'meta-agl-lxc/classes/guest-kernel-module.bbclass')
-rw-r--r--meta-agl-lxc/classes/guest-kernel-module.bbclass21
1 files changed, 21 insertions, 0 deletions
diff --git a/meta-agl-lxc/classes/guest-kernel-module.bbclass b/meta-agl-lxc/classes/guest-kernel-module.bbclass
new file mode 100644
index 00000000..bbe25c20
--- /dev/null
+++ b/meta-agl-lxc/classes/guest-kernel-module.bbclass
@@ -0,0 +1,21 @@
+DEPENDS:remove:aglcontainerguest = "${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-dummy", "linux-renesas", "", d)}"
+
+do_configure[depends] = "${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-dummy", "", "make-mod-scripts:do_compile", d)}"
+
+python __anonymous () {
+ # Need to use inline python here as, contrary to the BitBake docs,
+ # having noexec set at all disables the task, so using
+ # oe.utils.conditional to set it to "0" still ends up with the task
+ # disabled.
+ if d.getVar("PREFERRED_PROVIDER_virtual/kernel") == "linux-dummy":
+ d.setVarFlag("do_compile", "noexec", "1")
+}
+
+do_install:aglcontainerguest() {
+ # Create destination directory
+ install -d ${D}/${includedir}/
+}
+
+# Guest doesn't build the module, so go ahead and quiet warnings about
+# double '/' in base recipe definition
+FILES_${PN}:aglcontainerguest = ""