|| ||Linus Torvalds <torvalds-AT-linux-foundation.org> |
|| ||Dirk Hohndel <hohndel-AT-infradead.org> |
|| ||Re: Linux 2.6.32-rc3 |
|| ||Tue, 6 Oct 2009 07:18:52 -0700 (PDT)|
|| ||Len Brown <lenb-AT-kernel.org>, Linux Kernel Mailing List <linux-kernel-AT-vger.kernel.org>|
|| ||Article, Thread
On Mon, 5 Oct 2009, Dirk Hohndel wrote:
> On Mon, 2009-10-05 at 21:57 -0400, Len Brown wrote:
> > This could be clarified if you update Makefile on the 1st commit
> > after 2.6.X is frozen to simply be 2.6.Y-merge or 2.6.Y-rc0
> > or something. Anything but 2.6.X.
> I have seen this request many times and it seems to make perfect sense.
No. It makes perfect sense just because the people who think so don't
think things through.
It doesn't help, for several reasons:
- the step function of the Makefile change happens once per release, and
if you compile anything but releases, you can never rely on just the
revision. Was it a plain -rc, a plain release, or something in
between? You'll never know, just looking at the 2.6.x.y thing.
In other words, you fundamentally have three choices:
(a) be confused. Adding an "-rc0" won't help. You'll still be confused
in between releases about exactly what you're running.
(b) use CONFIG_LOCALVERSION_AUTO=y
Now, if 'uname -r' says 2.6.31, then you _know_ it's exactly
2.6.31 and nothing else. If it's a few commits after 2.6.31, it
will say something like '2.6.31-1-g752015d', and you know that
it's one commit after 2.6.31, and you'll know _which_ commit it is!
(c) Don't compile anything but releases.
Those are the choices.
- An even _more_ fundamental reason: Linux development isn't linear.
There is not one "first commit" after a release, and there never will
be. Sure, there's a first commit that I do, but that has absolutely
Learn this. Until you do, you'll be confused, and you'll show your
confusion by saying "I want a 2.6.n+1-rc0". You'll _also_ show your
confusion by things like "I was bisecting a bug that happened between
2.6.30 and 2.6.31, and suddenly git was asking me to test a kernel that
said it was version 2.6.29-rc1 - so I stopped bisecting because git was
Who was confused? Was it git, or was it the person who thought that the
Makefile version could be consistent in a non-linear world?
So no. I'm not going to do -rc0. Because doing that is _stupid_. And until
you understand _why_ it's stupid, it's pointless talking about it, and
when you _do_ understand that it's stupid, you'll agree with me.
to post comments)