From: Bjørn Mork Date: Fri, 27 Dec 2024 11:43:18 +0000 (+0100) Subject: build: parsing "git log" breaks with gpg signature verification X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=ae9c9d0f8e41621c1bde94a43ec463052fa58c8a;p=openwrt%2Fstaging%2Fthess.git 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 Link: https://github.com/openwrt/openwrt/pull/20127 Signed-off-by: Robert Marko --- 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; \