Re: Linux 2.6.32-rc3

Linus Torvalds
2009-10-06T18:18:17Z

On Tue, 6 Oct 2009, Len Brown wrote:
>
> This also means that I've overwritten all of the
> reference build results.

That was a really long and boring email, and all it said to me was

"I can't be bothered to turn on CONFIG_LOCALCONFIG_AUTO, or I didn't even
read the thread to find out it exists and that you can use it even
without a git tree"

> thanks for listening.

I wish I could say the same.

So now, can you please just turn on CONFIG_LOCALCONFIG_AUTO and say "oh,
I'm happy now"?

It really does work with tar-balls too. The whole tar-ball thing is a
total red herring. All you need to do is add a ".scmversion" file into the
end result, and you're done.

And you can do that easily - even _after_ you've created the tar-file, and
even if you don't have a working tree. Lookie here:

tar rvf some-random-tar-file.tar linux-x.y.z/.scmversion

see?

Or, in the case of using "git archive", you can avoid having to remember
to add that .scmversion file, and instead teach your build-bot to create
it automatically from the tar-file even if you do _not_ add a .scmversion
file to the actual tar-file. "git tar" There's a command for that: "git
get-tar-commit-id", so you can just add something like

zcat < xxx.tar.gz | git get-tar-commit-id > .scmversion

(yes, yes, you may want to massage it a bit, ie do something like

sed 's/^\(........\).*$/-g\1/'

or whatever to turn that 40-character SHA1 into a nicer extraversion.
Whatever. Truly trivial scripting, and it means that your build server
will now _always_ build a kernel that actually knows what kernel it is!

Isn't that the sign of a _good_ solution? Something that actually improves
the end result in a real way? Now your builds will know what version they
were built from!

Please?

Linus