build: log submodule update from git-submodule.sh

Print exactly which submodules have been updated, by reusing the logic of
"git-submodule.sh validate" after executing "git submodule update --init'.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2023-05-30 17:27:48 +02:00
parent fdb8fd8cb9
commit d120116b5d
2 changed files with 12 additions and 8 deletions

View File

@ -52,9 +52,7 @@ Makefile: .git-submodule-status
.PHONY: git-submodule-update
git-submodule-update:
ifneq ($(GIT_SUBMODULES_ACTION),ignore)
$(call quiet-command, \
(GIT=git "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODULES_ACTION) $(GIT_SUBMODULES)), \
"GIT","$(GIT_SUBMODULES)")
$(quiet-@)GIT=git "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODULES_ACTION) $(GIT_SUBMODULES)
endif
# 0. ensure the build tree is okay

View File

@ -46,6 +46,13 @@ validate_error() {
exit 1
}
check_updated() {
local CURSTATUS OLDSTATUS
CURSTATUS=$($GIT submodule status $module)
OLDSTATUS=$(grep $module $substat)
test "$CURSTATUS" = "$OLDSTATUS"
}
if test -n "$maybe_modules" && ! test -e ".git"
then
echo "$0: unexpectedly called with submodules but no git checkout exists"
@ -75,11 +82,7 @@ status|validate)
test -f "$substat" || validate_error "$command"
test -z "$maybe_modules" && exit 0
for module in $modules; do
CURSTATUS=$($GIT submodule status $module)
OLDSTATUS=$(cat $substat | grep $module)
if test "$CURSTATUS" != "$OLDSTATUS"; then
validate_error "$command"
fi
check_updated $module || validate_error "$command"
done
exit 0
;;
@ -89,6 +92,9 @@ update)
$GIT submodule update --init $modules 1>/dev/null
test $? -ne 0 && update_error "failed to update modules"
for module in $modules; do
check_updated $module || echo Updated "$module"
done
(while read -r; do
for module in $modules; do