Messages in this thread Patch in this message | | | Date | Wed, 30 Jun 2010 16:51:34 +0200 | From | Michal Marek <> | Subject | Re: [PATCH] kbuild: Clean up and speed up the localversion logic |
| |
On Tue, Jun 29, 2010 at 02:54:21PM -0700, Dmitry Torokhov wrote: > On Thu, Jun 17, 2010 at 10:55:12PM -0700, Dmitry Torokhov wrote: > > On Thu, Jun 17, 2010 at 03:40:38PM +0200, Michal Marek wrote: > > > Now that we run scripts/setlocalversion during every build, it makes > > > sense to move all the localversion logic there. This cleans up the > > > toplevel Makefile and also makes sure that the script is called only > > > once in 'make prepare' (previously, it would be called every time due to > > > a variable expansion in an ifneq statement). No user-visible change is > > > intended, unless one runs the setlocalversion script directly. > > > > > > Reported-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > > > Cc: David Rientjes <rientjes@google.com> > > > Cc: Greg Thelen <gthelen@google.com> > > > Cc: Nico Schottelius <nico-linuxsetlocalversion@schottelius.org> > > > Signed-off-by: Michal Marek <mmarek@suse.cz> > > > --- > > > > > > I tried to test this in various scenarios, but if anyone of you could give > > > it a try, that would be great. The patch is against 2.6.35-rc3. > > > > > > > Seems to be working for me, I do not need to go and fetch coffee while > > installig newly compiled kernel anymore. > > > > Michal, > > Any chance this could be merged in 2.6.35? Without the patch installing > over the network is not really an option anymore.
I now found that my patch breaks 'make LOCALVERSION=... '. The following patch should fix it.
Michal
commit 0a564b2645c8766a669c55bde1f1ef5b0518caec Author: Michal Marek <mmarek@suse.cz> Date: Wed Jun 30 16:41:23 2010 +0200
kbuild: Propagate LOCALVERSION= down to scripts/setlocalversion
Variables given on the make commandline are not exported to $(shell ...) commands, so run the setlocalversion script in the make rule directly.
Signed-off-by: Michal Marek <mmarek@suse.cz>
diff --git a/Makefile b/Makefile index a86ac8c..12ab175 100644 --- a/Makefile +++ b/Makefile @@ -884,11 +884,9 @@ $(vmlinux-dirs): prepare scripts $(Q)$(MAKE) $(build)=$@ # Store (new) KERNELRELASE string in include/config/kernel.release -localversion = $(shell $(CONFIG_SHELL) \ - $(srctree)/scripts/setlocalversion $(srctree)) include/config/kernel.release: include/config/auto.conf FORCE $(Q)rm -f $@ - $(Q)echo $(KERNELVERSION)$(localversion) > $@ + $(Q)echo "$(KERNELVERSION)$$($(CONFIG_SHELL) scripts/setlocalversion $(srctree))" > $@ # Things we need to do before we recursively start building the kernel
| |