]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel: restore scripts in the sysroot
authorBruce Ashfield <bruce.ashfield@windriver.com>
Tue, 8 Oct 2013 21:12:54 +0000 (17:12 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Oct 2013 15:54:29 +0000 (16:54 +0100)
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>
meta/classes/kernel.bbclass

index f40ea8985d6c1f39292c0adc7e91b63c7dac17d9..dedfab7d5473464d0b4a95fd7da91df3cf6453fe 100644 (file)
@@ -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}
 }