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

From: Masahiro Yamada
Date: Wed Jun 16 2021 - 21:44:19 EST


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.
>

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.




--
Best Regards
Masahiro Yamada