Re: [2.6.16-rc6] CONFIG_LOCALVERSION_AUTO

From: Mathis Ahrens
Date: Thu Mar 16 2006 - 18:40:57 EST


Sam Ravnborg wrote:
> On Wed, Mar 15, 2006 at 05:47:51AM +0100, Mathis Ahrens wrote:
>
>> 1.
>> Semantics of LOCALVERSION are confusing and probably buggy.
>> [...]
>>
> This is a bug.
> I will fix that for 2.6.17.
>
Cool, thanks.

>> 2.
>> "make kernelrelease" does not imply "make .kernelrelease", it only
>> does cat the file .kernelrelease (or shows an error if it's not there).
>>
Oh, I notice that I have been dumb here. Of course `make kernelrelease`
should not depend on `make .kernelrelease` or alter .kernelrelease in any
way.
>> This leads to the following IMHO slightly irritating behaviour
>> $ echo "LV1" > localversion
>> $ make kernelrelease
>> 2.6.16-rc6LV1
>> $ echo "LV2" > localversion
>> $ make kernelrelease
>> 2.6.16-rc6LV1
>>
>> Is there a reason for this?
>>
> make kernelrelase shall work in both a read-only environment and shall
> avoid modifying files when run as another user.
> So the simple measure was to error out only if .kernelrelease was
> missing.
>
But then - for this I would use `cat .kernelrelease` ?

> The trick here seems to print $(KERNELVERSION)$(localver-full)
> but only if .kernelrelease is present.
> On the other hand if .kernelrelase and $(KERNELVERSION)$(localver-full)
> differ then what to print.
> The kernelrelease of the kernel or how it is configured?
>
Yes, these may be different, and both are interesting:
1. What name would I get if I started building now.
2. Assuming I did not modify anything since the last build, what was it
named?
> echo -sam > locelversion does NOT change the kernel.
> The kernelrealse of the kernel is only changed after running 'make'.
> And this is what we want to see - the kernelrelase of the kernel, not
> what happes to be stored in a file after the kernel was compiled.
>
Right. Only I get this also with `cat .kernelrelease`.
That's why my intuition said, `make kernelrelease` probably prints the
string
that *would* be appended, based on all the knowledge in the Makefile.

After all, this is interesting, since that composition is not trivial,
and the
logic is inside the Makefile.

Maybe this could be made another target?
`make upcomingrelease` (-;


Cheers,
Mathis
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/