From: fupan li <fupan...@windriver.com>

When do RCPL upgrading, we want to keep the different RCPL's kernel header 
files coexist, just
as the kernel image does.

Signed-off-by: fupan li <fupan...@windriver.com>
---
 meta/classes/kernel.bbclass | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 6d9e646..e6ed716 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -75,9 +75,11 @@ EXTRA_OEMAKE = ""
 
 KERNEL_ALT_IMAGETYPE ??= ""
 
-# Define where the kernel headers are installed on the target as well as where
-# they are staged.
-KERNEL_SRC_PATH = "/usr/src/kernel"
+# Define where the kernel headers are staged.
+KERNEL_SRC_EXPORT_PATH = "/usr/src/kernel"
+#put the kernel headers in 
/usr/src/kernel-${@legitimize_package_name('${KERNEL_VERSION}')} to
+#let the different RCPL's kernel headers coexist.
+KERNEL_SRC_PATH = 
"/usr/src/kernel-${@legitimize_package_name('${KERNEL_VERSION}')}"
 
 KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else 
s)(d.getVar('KERNEL_IMAGETYPE', True))}"
 
@@ -313,7 +315,7 @@ kernelscripts_sstate_postinst () {
 }
 
 sysroot_stage_all_append() {
-       sysroot_stage_dir ${D}${KERNEL_SRC_PATH} 
${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}
+       sysroot_stage_dir ${D}${KERNEL_SRC_PATH} 
${SYSROOT_DESTDIR}${KERNEL_SRC_EXPORT_PATH}
 }
 
 kernel_do_configure() {
@@ -386,6 +388,14 @@ pkg_postrm_kernel-image () {
        update-alternatives --remove ${KERNEL_IMAGETYPE} 
${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true
 }
 
+pkg_postinst_kernel-dev () {
+        update-alternatives --install ${KERNEL_SRC_EXPORT_PATH} kernel-path 
kernel-${@legitimize_package_name('${KERNEL_VERSION}')} ${KERNEL_PRIORITY} || 
true
+}
+
+pkg_postrm_kernel-dev () {
+        update-alternatives --remove kernel-path 
kernel-${@legitimize_package_name('${KERNEL_VERSION}')} || true
+}
+
 PACKAGESPLITFUNCS_prepend = "split_kernel_packages "
 
 python split_kernel_packages () {
-- 
1.8.1.2

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to