Re: make kernelrelease ignoring LOCALVERSION_AUTO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I did a $(git-repack -a -d && git-prune-packed) before trying the bisect.  

Wow.  Talk about a speed improvement.

I also found that $(make oldconfig; make kernelrelease) was enough to
bisect down to the commit in question.

The final git bisect bad reported:

,---- :; git bisect bad
| ac4d5f74a9b243d9f3f123fe5ce609478df208d8 is first bad commit
| diff-tree ac4d5f74a9b243d9f3f123fe5ce609478df208d8 (from ab919c06144cfb11c05b5b5cd291daa96ac2e423)
| Author: Uwe Zeisberger <[email protected]>
| Date:   Wed Nov 9 15:54:08 2005 +0100
| 
|     [PATCH] kbuild: make kernelrelease in unconfigured kernel prints an error
| 
|     Do not include .config for target kernelrelease
| 
|     Signed-off-by: Uwe Zeisberger <[email protected]>
|     Signed-off-by: Sam Ravnborg <[email protected]>
| 
| :100644 100644 2dac8010c14296bf71b20da92d7256d6a5b41f22 3152d6377eb20bb79a95850fabf7b6fee3a64ad2 M      Makefile
`----

The unidiff is:

,---- git diff ab919c06144cfb11c05b5b5cd291daa96ac2e423 ac4d5f74a9b243d9f3f123fe5ce609478df208d8
| diff --git a/Makefile b/Makefile
| index 2dac801..3152d63 100644
| --- a/Makefile
| +++ b/Makefile
| @@ -407,7 +407,7 @@ outputmakefile:
|  # of make so .config is not included in this case either (for *config).
| 
|  no-dot-config-targets := clean mrproper distclean \
| -                        cscope TAGS tags help %docs check%
| +                        cscope TAGS tags help %docs check% kernelrelease
| 
|  config-targets := 0
|  mixed-targets  := 0
`----

That means that $(make kernelrelease) sets dot_config := 0.

And since the block:

,---- linux-2.6/Makefile lines 571-574
| ifdef CONFIG_LOCALVERSION_AUTO
|         localversion-auto := $(shell $(PERL) $(srctree)/scripts/setlocalversion $(srctree))
|         LOCALVERSION := $(LOCALVERSION)$(localversion-auto)
| endif
`----

is in the ifeq ($(dot-config),1) section, localversion-auto does not
get set anymore when the target is kernelrelease.

Which really makes kernelrelease useless.


I understand why the patch was proposed and included.

But the kernelrelease is really .config dependant, given the
CONFIG_LOCALVERSION and CONFIG_LOCALVERSION_AUTO options.

Unless it is OK to force a defconfig when kernelrelease is called on
an unconfigured tree?

Whatever the solution, it is commit ac4d5f74a9b243d9f3f123fe5ce609478df208d8
that breaks $(make kernelrelease).

-JimC
-- 
James H. Cloos, Jr. <[email protected]>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux