aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/kernel.bbclass
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2013-10-08 17:12:54 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-10-14 16:54:29 +0100
commit5bcd65807aa634060f98928db6011856934dabe4 (patch)
tree5fafed9453707e616f613ef9fe89305e00d88ad3 /meta/classes/kernel.bbclass
parentb972a047ede781b9e0570c55e803245e405e529b (diff)
downloadopenembedded-core-contrib-5bcd65807aa634060f98928db6011856934dabe4.tar.gz
kernel: restore scripts in the sysroot
When building against the sysroot, out of tree modules can require modpost and other utilities normally found in the kernel's scripts directory. For the kernel source in the staging dir, these scripts have been removed to avoid mixing archiectures when packaging kernel-dev (among other things). Rather than further complicate the kernel's install rule, or its packaging, we can restore the scripts by building them in the kernel staging directory after the sstate is installed, making them available to packages that need them. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/kernel.bbclass')
-rw-r--r--meta/classes/kernel.bbclass11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index f40ea8985d..dedfab7d54 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -297,6 +297,17 @@ kernel_do_install() {
}
do_install[prefuncs] += "package_get_auto_pr"
+
+SSTATEPOSTINSTFUNCS += "kernelscripts_sstate_postinst"
+kernelscripts_sstate_postinst () {
+ if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then
+ (
+ cd ${STAGING_KERNEL_DIR}
+ oe_runmake scripts
+ )
+ fi
+}
+
sysroot_stage_all_append() {
sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}
}