Re: [PATCH, v2] kbuild: Improve version string logic

David Rientjes
2009-10-15T20:46:59Z

On Thu, 15 Oct 2009, Frans Pop wrote:

> You simply cannot distinguish between "extra vanilla kernel commits"
> and "distro commits" in a tree. Both are changes since the tagged release;
> both will trigger the "+", which makes the "+" meaningless.
>

I can guarantee that distro is not going to be releasing a "v2.6.33"
kernel with patches on top of it without modifying the version string in
some way. With my patch, the `+' is suppressed when LOCALVERSION= is
used.

I chose not to allow CONFIG_LOCALVERSION to suppress the `+' because the
config normally does not change with a revision, a build does. So while
CONFIG_LOCALVERSION may describe the packager of the kernel, LOCALVERSION=
would describe a particular release.

> > Besides, distros building on kernels inbetween -rc's is very rare.
>
> True. Which is why we shouldn't be adding the "+".
>

The `+' is irrelevant at -rc releases, it wouldn't be added anyway! It's
purpose is to identify non-vanilla release kernels.

> But that's the whole point. It does not!
> Even if they _only_ add their packaging infrastructure on top and have no
> patches that affect the the kernel itself (which is unlikely), they would
> still end up with the "+" because the commit(s) that add the packaging
> infrastructure make the tree unequal to the tagged release.
>

Why would you add packaging infrastructure to the kernel source itself?
Normally you would have a Makefile for rpm packaging that would call into
the kernel Makefile, leaving it vanilla.