linux: generate KBUILD_BUILD_TIMESTAMP date whith LC_ALL=C
authorJean-Baptiste Trédez <jean-baptiste.tredez@basystemes.fr>
Wed, 7 Dec 2016 15:20:42 +0000 (16:20 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 7 Dec 2016 22:34:52 +0000 (23:34 +0100)
commit10fc02b984f6f8c06291f94e6dbef0b289fd3880
tree09d1a5dfc7351f6a31693b762dc4b1342156f9a4
parent520d9975bda643d2cdea6007baf0411c2ea622a5
linux: generate KBUILD_BUILD_TIMESTAMP date whith LC_ALL=C

Fix kernel reproducible build if a non-C locale is used on the host
system.

When building the Linux kernel, scripts/gen_initramfs_list.sh does 'date
-d"$KBUILD_BUILD_TIMESTAMP" +%s'. In linux.mk, Buildroot sets
KBUILD_BUILD_TIMESTAMP to "$(shell date -d @$(SOURCE_DATE_EPOCH))".

For example, if LANG=fr_FR.UTF-8 is defined in the host system, it does
not work:

- LC_ALL=C date -d"$(LC_ALL=C date)" : ok
- LC_ALL=C date -d"$(LC_ALL=fr_FR.UTF-8 date)" : error

LANG/LC_ALL variables exported in the main Makefiles are not passed in
the $(shell ...) sub-shells.

Signed-off-by: Jean-Baptiste Trédez <jean-baptiste.tredez@basystemes.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux/linux.mk