[openwrt/openwrt] build: parsing "git log" breaks with gpg signature verification

LEDE Commits lede-commits at lists.infradead.org
Tue Sep 23 12:49:57 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/ae9c9d0f8e41621c1bde94a43ec463052fa58c8a

commit ae9c9d0f8e41621c1bde94a43ec463052fa58c8a
Author: Bjørn Mork <bjorn at mork.no>
AuthorDate: Fri Dec 27 12:43:18 2024 +0100

    build: parsing "git log" breaks with gpg signature verification
    
    Parsing "git log" is fragile.  The actual output depends on both global and
    local configuration files. Enabling "log.showSignature" makes "git log" prefix
    signed commits with multiple lines of gpg verify output, regardless of the
    configured log format.
    
    Add "--no-show-signature" to "git log" commands to work around this particular
    issue.
    
    Signed-off-by: Bjørn Mork <bjorn at mork.no>
    Link: https://github.com/openwrt/openwrt/pull/20127
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 include/download.mk | 2 +-
 rules.mk            | 4 ++--
 scripts/getver.sh   | 2 +-
 toolchain/Makefile  | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/download.mk b/include/download.mk
index be0c9a31f1..e87501563a 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -238,7 +238,7 @@ define DownloadMethod/rawgit
 	[ \! -d $(SUBDIR) ] && \
 	git clone $(OPTS) $(URL) $(SUBDIR) && \
 	(cd $(SUBDIR) && git checkout $(SOURCE_VERSION)) && \
-	export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \
+	export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --no-show-signature --format='@%ct'` && \
 	echo "Generating formal git archive (apply .gitattributes rules)" && \
 	(cd $(SUBDIR) && git config core.abbrev 8 && \
 	git archive --format=tar HEAD --output=../$(SUBDIR).tar.git) && \
diff --git a/rules.mk b/rules.mk
index 929d8e00e8..47c5f5de62 100644
--- a/rules.mk
+++ b/rules.mk
@@ -514,9 +514,9 @@ ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
 ##
 define commitcount
 $(shell \
-  if git log -1 >/dev/null 2>/dev/null; then \
+  if git log -1 --no-show-signature >/dev/null 2>/dev/null; then \
     if [ -n "$(1)" ]; then \
-      last_bump="$$(git log --pretty=format:'%h %s' . | \
+      last_bump="$$(git log --no-show-signature --pretty=format:'%h %s' . | \
         grep -m 1 -e ': [uU]pdate to ' -e ': [bB]ump to ' | \
         cut -f 1 -d ' ')"; \
     fi; \
diff --git a/scripts/getver.sh b/scripts/getver.sh
index e9a5cca074..bf21f77feb 100755
--- a/scripts/getver.sh
+++ b/scripts/getver.sh
@@ -43,7 +43,7 @@ try_git() {
 			REV="${UPSTREAM_REV}+$((REV - UPSTREAM_REV))"
 		fi
 
-		REV="${REV:+r$REV-$(git log -n 1 --format="%h" $UPSTREAM_BASE)}"
+		REV="${REV:+r$REV-$(git log -n 1 --no-show-signature --format="%h" $UPSTREAM_BASE)}"
 
 		;;
 	esac
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 09c16f72a7..67b1540117 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -65,7 +65,7 @@ endif
 ifdef CONFIG_BUILDBOT
 ifneq ($(wildcard $(TOPDIR)/.git),)
   $(TOOLCHAIN_DIR)/stamp/.ver_check: $(TMP_DIR)/.build
-	cd "$(TOPDIR)"; git log --format=%h -1 toolchain > $(TMP_DIR)/.ver_check
+	cd "$(TOPDIR)"; git log --no-show-signature --format=%h -1 toolchain > $(TMP_DIR)/.ver_check
 	cmp -s $(TMP_DIR)/.ver_check $@ || { \
 		rm -rf $(BUILD_DIR) $(STAGING_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR_TOOLCHAIN); \
 		mkdir -p $(TOOLCHAIN_DIR)/stamp; \




More information about the lede-commits mailing list