Re: [PATCH] kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set

From: Matthias Maennich
Date: Thu Jun 17 2021 - 05:18:50 EST


On Thu, Jun 17, 2021 at 10:43:19AM +0900, Masahiro Yamada wrote:
On Thu, Jun 17, 2021 at 10:05 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:

On Sat, Jun 12, 2021 at 11:18 PM Matthias Maennich <maennich@xxxxxxxxxx> wrote:
>
> To avoid unnecessary recompilations, mkcompile_h does not regenerate
> compile.h if just the timestamp changed.
> Though, if KBUILD_BUILD_TIMESTAMP is set, an explicit timestamp for the
> build was requested, in which case we should not ignore it.
>
> If a user follows the documentation for reproducible builds [1] and
> defines KBUILD_BUILD_TIMESTAMP as the git commit timestamp, a clean
> build will have the correct timestamp. A subsequent cherry-pick (or
> amend) changes the commit timestamp and if an incremental build is done
> with a different KBUILD_BUILD_TIMESTAMP now, that new value is not taken
> into consideration. But it should for reproducibility.
>
> Hence, whenever KBUILD_BUILD_TIMESTAMP is explicitly set, do not ignore
> UTS_VERSION when making a decision about whether the regenerated version
> of compile.h should be moved into place.
>
> [1] https://www.kernel.org/doc/html/latest/kbuild/reproducible-builds.html
>
> Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> Cc: linux-kbuild@xxxxxxxxxxxxxxx
> Signed-off-by: Matthias Maennich <maennich@xxxxxxxxxx>
> ---


Applied to linux-kbuild. Thanks.

Thanks!



This may not be a big deal, but when KBUILD_BUILD_TIMESTAMP is unset,
the timestamp is not updated. It still has a user-specified string.

I think treating this like any other 'random' prior timestamp is ok.
So, I agree: not a big deal.

Cheers,
Matthias




--
Best Regards
Masahiro Yamada