[oe] [kernel.bbclass] [PATCH] let the multi-version kernel header files coexist on the target
fupan.li at windriver.com
fupan.li at windriver.com
Tue Aug 19 01:20:39 UTC 2014
From: fupan li <fupan.li at 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.li at 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
More information about the Openembedded-devel
mailing list