[OE-core] [PATCH 2/2] kernel: user defined KERNEL_VERSION_PKG_NAME
Razvan Heghedus
razvan.heghedus at ni.com
Tue Jun 27 09:15:04 UTC 2017
On 06/26/2017 06:52 PM, Bruce Ashfield wrote:
>
>
> On Wed, Jun 21, 2017 at 8:00 AM, Heghedus Razvan
> <razvan.heghedus at ni.com <mailto:razvan.heghedus at ni.com>> wrote:
>
> Add possibility to set KERNEL_VERSION_PKG_NAME to a user
> defined value.
>
> Signed-off-by: Heghedus Razvan <razvan.heghedus at ni.com
> <mailto:razvan.heghedus at ni.com>>
> ---
> meta/classes/kernel.bbclass | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 605c101e62..02728d5a86 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -28,12 +28,16 @@ INITRAMFS_IMAGE_BUNDLE ?= ""
> # LINUX_VERSION which is a constant.
> KERNEL_VERSION_NAME = "${@d.getVar('KERNEL_VERSION') or ""}"
> KERNEL_VERSION_NAME[vardepvalue] = "${LINUX_VERSION}"
> -KERNEL_VERSION_PKG_NAME =
> "${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
> -KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}"
>
> python __anonymous () {
> import re
>
> + if d.getVar('USER_KERNEL_VERSION_PKG') is None :
> + d.setVar('KERNEL_VERSION_PKG_NAME',
> "${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}")
> + d.setVar('KERNEL_VERSION_PKG_NAME[vardepvalue]',
> "${LINUX_VERSION}")
> + else:
> + d.setVar('KERNEL_VERSION_PKG_NAME',
> "${@legitimize_package_name(d.getVar('USER_KERNEL_VERSION_PKG'))}")
>
>
> This is introducing yet another variable that tweaks the already
> complex setting of
> the kernel version. Not to mention this code is already touchy with
> respect to
> parse time and rebuilding of the kernel.
>
> My concern is that if this is set, we are completely disassociated
> with the source
> code of the kernel.
>
> Where did you think this would be set ? local.conf ? distro config ?
> somewhere else ?
>
> If we had a way to simply override KERNEL_VERSION, we wouldn't need
> any extra
> variables.
>
> Bruce
>
> +
> # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into
> KERNEL_IMAGETYPES
> type = d.getVar('KERNEL_IMAGETYPE') or ""
> alttype = d.getVar('KERNEL_ALT_IMAGETYPE') or ""
> --
> 2.13.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> <mailto:Openembedded-core at lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> <http://lists.openembedded.org/mailman/listinfo/openembedded-core>
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"
I have setting the variable in the kernel recipe. I need a way to
override the KERNEL_VERSION because I want the kernel packages name to
contain only a part of the version or nothing at all.
I need this for the the kernel upgrade stuff, because if the package
name is something like: kernel-4.9.8-{static_string} then I couldn't
upgrade to a version like: kernel-4.9.10-{static_string}, because they
are two different packages. I wanted a simple way to be able to have the
package name : kernel-4.9-{static_string}, then I could do the upgrade
for the new minor updates of the kernel.
This was the simple and cleanest way I could think of to achieve the my
scenario. But if there is a better idea for this, let me know.
--
Razvan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170627/cb439586/attachment-0002.html>
More information about the Openembedded-core
mailing list