In case of git-am failure, kgit-s2q tries to read the date from the
patch. Unfortunately, if the patch does not have a date (e.g. raw diff),
no date is set and git uses the current system time.

This patch makes kgit-s2q use SOURCE_DATE_EPOCH as the last resort or emit
a warning if it's not available. Additionally, GIT_COMMITTER_DATE is set
to GIT_AUTHOR_DATE if requested with --commit-sha option (same behavior as
with git-am).

Signed-off-by: Hubert Wiśniewski <[email protected]>
---
 tools/kgit-s2q | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/tools/kgit-s2q b/tools/kgit-s2q
index c63c17a..41d5942 100755
--- a/tools/kgit-s2q
+++ b/tools/kgit-s2q
@@ -661,8 +661,18 @@ do
                fi
        done
        GIT_AUTHOR_DATE=$(sed -ne 's/Date: //p' "$tmp_info")
+       if [ -z "$GIT_AUTHOR_DATE" ] && [ -n "$SOURCE_DATE_EPOCH" ]; then
+               GIT_AUTHOR_DATE="$SOURCE_DATE_EPOCH +0000"
+       fi
+       if [ -z "$GIT_AUTHOR_DATE" ]; then
+               echo "[WARNING]: Could not determine author date, the current 
date will be used."
+               echo "           This may hurt kernel revision reproducibility."
+       fi
+       if [ "$commit_sha_type" == "author" ]; then
+               GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
+       fi
        SUBJECT=$(sed -ne 's/Subject: //p' "$tmp_info")
-       export GIT_AUTHOR_DATE SUBJECT
+       export GIT_AUTHOR_DATE GIT_COMMITTER_DATE SUBJECT
        if [ -z "$SUBJECT" ] ; then
                SUBJECT=$(echo $patch_name | sed -e 's/.patch$//')
        fi
@@ -727,6 +737,7 @@ do
                GIT_AUTHOR_NAME=""
                GIT_AUTHOR_EMAIL=""
                GIT_AUTHOR_DATE=""
+               GIT_COMMITTER_DATE=""
                SUBJECT=""
        fi
 done
-- 
2.39.5
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15997): 
https://lists.yoctoproject.org/g/linux-yocto/message/15997
Mute This Topic: https://lists.yoctoproject.org/mt/116423625/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

  • [linux-yocto] [yocto-ker... Hubert Wiśniewski via lists . yoctoproject . org

Reply via email to