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

Frans Pop
2009-10-12T22:05:26Z

On Monday 12 October 2009, Ingo Molnar wrote:
> It changes how CONFIG_LOCALVERSION_AUTO works, in the following trivial
> way:
>
>  - if it is set, things work the way they always have, and you get a
>    extended kernel release like:
>
>         2.6.32-rc3-00052-g0eca52a
>
>  - but if it is _not_ set, we'll still try to get a version from the
>    underlying SCM (we actually support git, hg and SVN right now, even
> if some comments may say "git only"), and if the underlying SCM says it
> has a local version, we append just "+", so you get a version number
> like:
>
>         2.6.32-rc3+

I don't object to making this the default (even a strong default), but I
still don't like the fact that it's not optional.
IMO both LOCALVERSION_AUTO *and* the added "+" can be unsuitable for some
use cases, for example for distributions.

If someone uses git to manage their custom patches, the only out this patch
leaves them to avoid the "+" is to revert it in their own trees. IMO that
should not be necessary.

To repeat some comments from <200910062137.06593.elendil@planet.nl>:
<snip>
Linus wrote:
> That said, we might make it a lot harder for people to overlook this by
> mistake when they don't care or know enough. Maybe we can have three
> levels of the "automatic" version number, and make the third level ("no
> automatic sign of versioning at all") be something that you really need
> to ask for (eg you need to have EMBEDDED enabled to show that you want
> the whole extended config option setup or something fairly draconian
> like that).

I'd opt for the "or something" as I think it would be a mistake to link it
to EMBEDDED. That has a rather different purpose.

One case to consider is distributions. They will have their own patches,
possibly as a branch off mainline in git.
AFAICT with the current patch they'd automatically always get the "+",
which is almost certain to conflict with their own naming schemes.
Distro configs with EMBEDDED set also does not seem right. Nor should it
IMHO be needed to have to patch the Makefile to get rid of it.

I think just having a config option with the three choices you suggest and
an appropriate help text to guide users should be sufficient, with the one
that activates the "+" as default.
</snip>

Cheers,
FJP