Re: Linux 2.6.32-rc3

From: Justin P. Mattock
Date: Wed Oct 07 2009 - 00:03:37 EST


Linus Torvalds wrote:
On Wed, 7 Oct 2009, Dave Airlie wrote:
Why don't you just have the kernel version Linux-commitid?

That's actually what I personally do 99% of the time. And, in fact, it's
how CONFIG_LOCALVERSION_AUTO effectively works. It's very useful for doing
things like

gitk v$(uname -r)..

which really does work (well, apart from the "-dirty" case when I've
compiled a dirty kernel that has something that isn't committed). Try it.
It's a great way to see "what do I have in my current tree that I'm not
actually running".

So with CONFIG_LOCALVERSION_AUTO, you can largely pretend that you really
only have the git SHA1. The rest is "fluff" for people.

why keep up the pretense that the 2.6.xx bit means anything outside of release?

Agreed. However, it _does_ mean something for releases.

And that is really how you should think of it. I update the kernel
Makefile for releases, and nothing else. If you compile a non-release
kernel, the version is meaningless - unless you have
CONFIG_LOCALVERSION_AUTO.

You could just have the tarball generation scripts make it into a 2.6.31 but
for everyone else we never see it.

Well, about a year ago I actually considered generating the version
entirely from the tags in the git tree, and do it entirely that way.

The reason I didn't is that even if it only makes sense for releases, it
is (a) tradition and (b) useful without (or across) SCM's and (c) human-
readable. In fact, I tend to like seeing things like

Linux version 2.6.32-rc2-00351-g58e57fb

in my dmesg outputs, because it does mean something _outside_ of just the
pure "git version" (the '58e57fb' part is sufficient as far as git is
concerned). It does have a very human-readable component to it: it's 351
commits after 2.6.32-rc2.

As a total newbie, this took a few to see, but then once I connected the dots
made complete sense. (i.g. the how many commits 00351 and commit number g58e57fb)
So I literally think that our current CONFIG_LOCALVERSION_AUTO includes
the best of both worlds. It has the "uniquely identifying" part, but it
also has a part that is human-readable and useful for that reason.

Linus
--
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/

just my $2
(as for the "+" and "-" tough to say, I'm happy as is,
as for the mistake with the version number well, "your human").

:-)

Justin P. Mattock
--
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/