On 06/26/2017 06:52 PM, Bruce Ashfield wrote:


On Wed, Jun 21, 2017 at 8:00 AM, Heghedus Razvan <razvan.heghe...@ni.com <mailto:razvan.heghe...@ni.com>> wrote:

    Add possibility to set KERNEL_VERSION_PKG_NAME to a user
    defined value.

    Signed-off-by: Heghedus Razvan <razvan.heghe...@ni.com
    <mailto:razvan.heghe...@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@lists.openembedded.org
    <mailto:Openembedded-core@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

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

Reply via email to