[oe] [kernel.bbclass] [PATCH] let the multi-version kernel header files coexist on the target

Martin Jansa martin.jansa at gmail.com
Tue Aug 19 10:06:30 UTC 2014


On Tue, Aug 19, 2014 at 09:20:39AM +0800, fupan.li at windriver.com wrote:
> 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.

This should go to oe-core ML.

> 
> 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
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20140819/8a7ebeb4/attachment-0002.sig>


More information about the Openembedded-devel mailing list