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

Bruce Ashfield bruce.ashfield at gmail.com
Thu Apr 11 12:53:57 UTC 2013


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 :)

Cheers,

Bruce

>
>>
>> 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"




More information about the Openembedded-core mailing list