|
@@ -331,6 +331,21 @@ kernel_do_compile() {
|
|
|
|
|
|
do_compile_kernelmodules() {
|
|
|
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
|
|
|
+ if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
|
|
|
+ # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
|
|
|
+ # be set....
|
|
|
+ if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = "0" ]; then
|
|
|
+ # The source directory is not necessarily a git repository, so we
|
|
|
+ # specify the git-dir to ensure that git does not query a
|
|
|
+ # repository in any parent directory.
|
|
|
+ SOURCE_DATE_EPOCH=`git --git-dir="${S}/.git" log -1 --pretty=%ct 2>/dev/null || echo "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"`
|
|
|
+ fi
|
|
|
+
|
|
|
+ ts=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH`
|
|
|
+ export KBUILD_BUILD_TIMESTAMP="$ts"
|
|
|
+ export KCONFIG_NOTIMESTAMP=1
|
|
|
+ bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
|
|
|
+ fi
|
|
|
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
|
|
|
cc_extra=$(get_cc_option)
|
|
|
oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
|