[OE-core] [PATCH] kernel-devsrc: add 'make scripts' postinstall

Ming Liu liu.ming50 at gmail.com
Sun Nov 22 22:40:11 UTC 2015


From: Ming Liu <peter.x.liu at external.atlascopco.com>

Run 'make scripts' inside qemu in order to create script binaries that
needed by external modules build on the target.

This 'make scripts' might fail in some cases, for instance, if toolchain or
make command is not installed on the target, but the postinstall should
always succeed, it will not break the package installation so the behaviour
is consistent.

[YOCTO #6630]

Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 196c8c7..8b366c3 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425
 inherit linux-kernel-base
 
 # Whilst not a module, this ensures we don't get multilib extended (which would make no sense)
-inherit module-base
+inherit module-base qemu
 
 # We need the kernel to be staged (unpacked, patched and configured) before
 # we can grab the source and make the source package. We also need the bits from
@@ -71,6 +71,17 @@ do_install() {
 # Ensure we don't race against "make scripts" during cpio
 do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
 
+pkg_postinst_${PN} () {
+	if [ -n "$D" ]; then
+		${@qemu_run_binary(d, '$D', '${bindir}/make')} \
+			-C $D${KERNEL_SRC_PATH} O=$D${KERNEL_SRC_PATH} scripts
+	else
+		make -C ${KERNEL_SRC_PATH} O=${KERNEL_SRC_PATH} scripts \
+			>/dev/null 2>&1 || true
+	fi
+}
+
 PACKAGES = "kernel-devsrc"
 FILES_${PN} = "${KERNEL_SRC_PATH}"
+DEPENDS = "qemu-native"
 RDEPENDS_${PN} = "bc"
-- 
1.9.1




More information about the Openembedded-core mailing list