[OE-core] [PATCH] kernel: Add KERNEL_LOCALVERSION to control version string

Denys Dmytriyenko denis at denix.org
Thu Apr 11 13:17:24 UTC 2013


On Thu, Apr 11, 2013 at 08:53:57AM -0400, Bruce Ashfield wrote:
> On Thu, Apr 11, 2013 at 8:44 AM, Maupin, Chase <chase.maupin at ti.com> wrote:
> >> -----Original Message-----
> >> From: Bruce Ashfield [mailto:bruce.ashfield at gmail.com]
> >> Sent: Wednesday, April 10, 2013 7:42 PM
> >> To: Maupin, Chase
> >> Cc: Patches and discussions about the oe-core layer
> >> Subject: Re: [OE-core] [PATCH] kernel: Add KERNEL_LOCALVERSION to
> >> control version string
> >>
> >> On Wed, Apr 10, 2013 at 5:47 PM, Chase Maupin
> >> <Chase.Maupin at ti.com> wrote:
> >> > * Add a variable called KERNEL_LOCALVERSION which when set will
> >> >   place a version string in the .scmversion file of the kernel
> >> >   sources.  This string will be picked up by the kernel
> >> Makefile
> >> >   and will be appended to the kernel version.  This is done to
> >> >   make it easier to identify what revision of the kernel
> >> sources
> >> >   are being run.  For example you can use a setting like the
> >> >   following to add the short commit id to the kernel version
> >> >   string:
> >> >
> >> > KERNEL_LOCALVERSION = "-g${@d.getVar('SRCPV',
> >> True).partition('+')[2][0:7]}"
> >> >
> >> > Signed-off-by: Chase Maupin <Chase.Maupin at ti.com>
> >> > ---
> >> >  meta/classes/kernel.bbclass |    6 +++++-
> >> >  1 files changed, 5 insertions(+), 1 deletions(-)
> >> >
> >> > diff --git a/meta/classes/kernel.bbclass
> >> b/meta/classes/kernel.bbclass
> >> > index af58887..9757465 100644
> >> > --- a/meta/classes/kernel.bbclass
> >> > +++ b/meta/classes/kernel.bbclass
> >> > @@ -48,6 +48,9 @@ export CMDLINE_CONSOLE =
> >> "console=${@d.getVar("KERNEL_CONSOLE",1) or "ttyS0"}"
> >> >
> >> >  KERNEL_VERSION = "${@get_kernelversion('${B}')}"
> >> >
> >> > +# Setting KERNEL_LOCALVERSION will place a string in the
> >> .scmversion file
> >> > +# of the kernel tree.  This string will be picked up by the
> >> build system
> >> > +# of the kernel and appended to the kernel version.
> >> >  KERNEL_LOCALVERSION ?= ""
> >> >
> >> >  # kernels are generally machine specific
> >> > @@ -210,7 +213,8 @@ kernel_do_configure() {
> >> >         # $ scripts/setlocalversion . => +
> >> >         # $ make kernelversion => 2.6.37
> >> >         # $ make kernelrelease => 2.6.37+
> >> > -       touch ${B}/.scmversion ${S}/.scmversion
> >> > +       echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion
> >> > +       echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion
> >>
> >> This would clobber trees that already patch, or otherwise have
> >> the file in place
> >> in their source directory.  A test to see if it already exists
> >> and only echo
> >> the variable if no one has already set it in their tree would be
> >> safer.
> >
> > Good point.  I'll wrap this in a check and submit version 2.  I'll do the 
> > same for the U-Boot version as well.
> 
> Another option for the kernel is to use a localversion-yocto file. It
> will serve the same purpose and keep us from running afoul of those
> that want scm version to provide a format that is similar to the one
> that the kernel internally generates.
> 
> Just a thought. I typically use localversion-<foo> now for all my
> localversions, and will switch the kernel-yocto over to it in master
> now that all older supported kernels have been pushed off the cliff :)

That would be great once everyone starts using linux-yocto kernels! :) 
Unfortunately that is still not the case...

-- 
Denys

> >> This will still be overridden by CONFIG_LOCALVERSION, so it is
> >> safe
> >> from that angle, but also note that it can be inhibited by
> >> setting
> >> # CONFIG_LOCALVERSION_AUTO is not set, in your .config and
> >> setting LOCALVERSION, but you probably already knew that!
> >>
> >> Cheers,
> >>
> >> Bruce
> >>
> >> >
> >> >         # Copy defconfig to .config if .config does not exist.
> >> This allows
> >> >         # recipes to manage the .config themselves in
> >> do_configure_prepend().
> >> > --
> >> > 1.7.0.4
> >> >
> >> >
> >> > _______________________________________________
> >> > Openembedded-core mailing list
> >> > Openembedded-core at lists.openembedded.org
> >> > http://lists.linuxtogo.org/cgi-
> >> bin/mailman/listinfo/openembedded-core
> >>
> >>
> >>
> >> --
> >> "Thou shalt not follow the NULL pointer, for chaos and madness
> >> await
> >> thee at its end"
> 
> 
> 
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list