[OE-core] [PATCH] kernel: Add KERNEL_LOCALVERSION to control version string
Maupin, Chase
chase.maupin at ti.com
Thu Apr 11 12:44:41 UTC 2013
> -----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.
>
> 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"
More information about the Openembedded-core
mailing list