]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit - scripts/mkcompile_h
kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
authorMatthias Maennich <maennich@google.com>
Sat, 12 Jun 2021 14:18:38 +0000 (15:18 +0100)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 20 Sep 2021 16:49:15 +0000 (18:49 +0200)
commit0556764611b735ce54d24ac10274557b21317ec4
treea1ddca06436ed5ea3d311ab2347576747685fac8
parentccbbe8653298d73f00213d1f23d2dc35f2cc9875
kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set

BugLink: https://bugs.launchpad.net/bugs/1939442
[ Upstream commit a979522a1a88556e42a22ce61bccc58e304cb361 ]

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

Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
scripts/mkcompile_h