I definitely put contents from mkcompile_h in the commit message. But it seems 
that git will delete all lines starting with '#'. A space is needed at the head 
of the line to keep the contents.
I'll send out V2 which only updates the commit message.

Regards,
Qi

-----Original Message-----
From: openembedded-core@lists.openembedded.org 
<openembedded-core@lists.openembedded.org> On Behalf Of Chen Qi via 
lists.openembedded.org
Sent: Thursday, November 17, 2022 12:01 PM
To: openembedded-core@lists.openembedded.org
Subject: [OE-core][master][kirkstone][PATCH] kernel.bbclass: make 
KERNEL_DEBUG_TIMESTAMPS work at rebuild

Currently, the KERNEL_DEBUG_TIMESTAMPS is not working as expected at rebuild. 
That is, even if we set it to "1", the kernel build time is not changed. The 
problem could be reproduced by the following steps.
  1. bitbake core-image-minimal; start image and check `uname -a` output.
  2. set in local.conf: KERNEL_DEBUG_TIMESTAMPS = "1"
  3. bitbake core-image-minimal; start image and check `uname -a` output.

It's expected that after enabling KERNEL_DEBUG_TIMESTAMPS, the kernel build 
time will be set to current date. But it's not. This is because the compile.h 
was not re-generated when do_compile task was re-executed.

In mkcompile_h, we have:
"""
"""
It has made it very clear that it will not be re-generated unless we have 
KBUILD_BUILD_TIMESTAMP set explicitly. So we set this variable explicitly in 
do_compile to fix this issue.

Signed-off-by: Chen Qi <qi.c...@windriver.com>
---
 meta/classes-recipe/kernel.bbclass | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/meta/classes-recipe/kernel.bbclass 
b/meta/classes-recipe/kernel.bbclass
index 3834a42fb9..3f6b40907f 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -367,6 +367,10 @@ kernel_do_compile() {
                export KBUILD_BUILD_TIMESTAMP="$ts"
                export KCONFIG_NOTIMESTAMP=1
                bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
+       else
+               ts=`LC_ALL=C date`
+               export KBUILD_BUILD_TIMESTAMP="$ts"
+               bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
        fi
        # The $use_alternate_initrd is only set from
        # do_bundle_initramfs() This variable is specifically for the @@ -412,6 
+416,10 @@ do_compile_kernelmodules() {
                export KBUILD_BUILD_TIMESTAMP="$ts"
                export KCONFIG_NOTIMESTAMP=1
                bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
+       else
+               ts=`LC_ALL=C date`
+               export KBUILD_BUILD_TIMESTAMP="$ts"
+               bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
        fi
        if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
                oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS}
--
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#173400): 
https://lists.openembedded.org/g/openembedded-core/message/173400
Mute This Topic: https://lists.openembedded.org/mt/95083583/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to