On Thu, Apr 11, 2013 at 9:17 AM, Denys Dmytriyenko <de...@denix.org> wrote: > 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.mau...@ti.com> wrote: >> >> -----Original Message----- >> >> From: Bruce Ashfield [mailto:bruce.ashfi...@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.mau...@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.mau...@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...
What!? they aren't!? :) I know (and everyone knows that I know :P) I was actually more meaning to convey that kernel.bbclass can do this, and the tools extensions for yocto can use it just like any other derived recipe. Cheers, Bruce > > -- > 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@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@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" _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core