Re: [PATCH v1] kbuild: Fix off-by-one error when generate a new version

From: Andy Shevchenko
Date: Mon Jan 27 2020 - 05:05:46 EST


On Fri, Jan 24, 2020 at 09:58:59PM +0200, Andy Shevchenko wrote:
> When build on, for example, x86 using `make O=... -j64` the version
> in the built kernel comes from include/generated/compile.h, which is:
>
> #define UTS_VERSION "#351 SMP Fri Jan 24 18:46:34 EET 2020"
>
> While at the end the x86 specific Makefile prints the contents of
> the .version file:
>
> Kernel: arch/x86/boot/bzImage is ready (#352)
>
> Obviously the latter is not true. This happens because we first
> check compile.h and update it and then generate new version, which is
> incorrect flow:
>
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> ...
> GEN .version
>
> In order to fix this, move the version generation from link-vmlinux.sh
> to scripts/version.sh and re-use it in init/Makefile.
>
> Additionally provide a unified way to get the current version of the build
> and use this in few callers. This will respect the KBUILD_BUILD_VERSION
> in case it's provided.

Hmm... It looks like a mess in my build tree.
I have to setup more experiments here.

--
With Best Regards,
Andy Shevchenko