[OE-core] [oe-core][PATCH] kernel-devsrc: check for localversion files in the kernel source tree

Bruce Ashfield bruce.ashfield at gmail.com
Wed Apr 10 23:15:31 UTC 2019


On Wed, Apr 10, 2019 at 6:56 PM Beniamin Sandu <beniaminsandu at gmail.com> wrote:
>
> The kernel-devsrc rework doesn't take into account localversion
> files in the kernel source tree. This might result in modules with an
> incomplete version magic when building out-of-tree using the SDK.
>
> Before:
> root at qemux86:~# insmod hello.ko
> [   42.000212] hello: version magic '5.0.3-yocto-standard SMP preempt
> mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard
> SMP preempt mod_unload PENTIUMM '
> [   42.008200] hello: version magic '5.0.3-yocto-standard SMP preempt
> mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard
> SMP preempt mod_unload PENTIUMM '
> insmod: can't insert 'hello.ko': invalid module format
>
> After:
> root at qemux86:~# insmod hello.ko
> [   39.094288] hello: loading out-of-tree module taints kernel.
> [   39.108044] Hello World!
>
> Signed-off-by: Beniamin Sandu <beniamin.sandu at gmail.com>
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 69a8eaef81..ed265f702d 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -228,6 +228,11 @@ do_install() {
>
>          # required to build scripts/selinux/genheaders/genheaders
>          cp -a --parents security/selinux/include/* $kerneldir/build/
> +
> +       # check for any localversion files
> +       if [ -f localversion* ]; then

Why not just stay consistent with the rest of the copying and make
sure it survives these not
being present via || : ?

Since that is going to potentially have issues when no localversion
files are present.

i.e. just use: cp -a localversion* $kerneldir/build/ 2>/dev/null || :

Bruce

> +          cp localversion* $kerneldir/build/
> +       fi
>      )
>
>      # Make sure the Makefile and version.h have a matching timestamp so that
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


More information about the Openembedded-core mailing list