[OE-core] [PATCH] kernel.bbclass: add non-santized kernel provides
Saul Wold
sgw at linux.intel.com
Mon Jul 9 16:54:53 UTC 2012
On 07/06/2012 08:52 AM, Bruce Ashfield wrote:
> If the kernel version string uses characters or symbols that
> need to be santized for the package name, we can end up with a
> mismatch between module requirements and what the kernel
> provides.
>
> The kernel version is pulled from utsrelease.h, which contains
> the exact string that was passed to the kernel build, not
> one that is santized, this can result in:
>
> echo "CONFIG_LOCALVERSION="\"MYVER+snapshot_standard\" >> ${B}/.config
>
> <build>
>
> % rpm -qp kernel-module-uvesafb-3.4-r0.qemux86.rpm --requires
> update-modules
> kernel-3.4.3-MYVER+snapshot_standard
> % rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides
> kernel-3.4.3-myver+snapshot-standard = 3.4-r0
>
> At rootfs assembly time, we'll have a dependency issue with the kernel
> providing the santizied string and the modules requiring the utsrelease.h
> string.
>
> To not break existing use cases, we can add a second provides to the
> kernel packaging with the unsantized version string, and allowing the
> kernel module packaging to be unchanged.
>
> RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}"
>
> % rpm -qp kernel-3.4.3-myver+snapshot-standard-3.4-r0.qemux86.rpm --provides
> kernel-3.4.3-MYVER+snapshot_standard
> kernel-3.4.3-myver+snapshot-standard = 3.4-r0
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
> ---
> meta/classes/kernel.bbclass | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 44461bc..81c334b 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -257,6 +257,7 @@ RDEPENDS_kernel = "kernel-base"
> RDEPENDS_kernel-base ?= "kernel-image"
> PKG_kernel-image = "kernel-image-${@legitimize_package_name('${KERNEL_VERSION}')}"
> PKG_kernel-base = "kernel-${@legitimize_package_name('${KERNEL_VERSION}')}"
> +RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}"
> ALLOW_EMPTY_kernel = "1"
> ALLOW_EMPTY_kernel-base = "1"
> ALLOW_EMPTY_kernel-image = "1"
>
Merged into OE-Core
Thanks
Sau!
More information about the Openembedded-core
mailing list