kheaders: make headers archive reproducible
authorDmitry Goldin <dgoldin+lkml@protonmail.ch>
Fri, 4 Oct 2019 10:40:07 +0000 (10:40 +0000)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 5 Oct 2019 06:29:49 +0000 (15:29 +0900)
commit86cdd2fdc4e39c388d39c7ba2396d1a9dfd66226
treec79544ad48bd9dedb9893a7c2d5c388a9ed5dfba
parentd188b8c901bb4966ab035ce90af02426f062e9e1
kheaders: make headers archive reproducible

In commit 43d8ce9d65a5 ("Provide in-kernel headers to make
extending kernel easier") a new mechanism was introduced, for kernels
>=5.2, which embeds the kernel headers in the kernel image or a module
and exposes them in procfs for use by userland tools.

The archive containing the header files has nondeterminism caused by
header files metadata. This patch normalizes the metadata and utilizes
KBUILD_BUILD_TIMESTAMP if provided and otherwise falls back to the
default behaviour.

In commit f7b101d33046 ("kheaders: Move from proc to sysfs") it was
modified to use sysfs and the script for generation of the archive was
renamed to what is being patched.

Signed-off-by: Dmitry Goldin <dgoldin+lkml@protonmail.ch>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Documentation/kbuild/reproducible-builds.rst
kernel/gen_kheaders.sh