[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] git-submodule.sh: allow running in validate mode without
From: |
Nina Schoetterl-Glausch |
Subject: |
Re: [PATCH v2] git-submodule.sh: allow running in validate mode without previous update |
Date: |
Fri, 23 Jun 2023 13:39:46 +0200 |
User-agent: |
Evolution 3.46.4 (3.46.4-1.fc37) |
On Thu, 2023-06-22 at 11:52 +0200, Paolo Bonzini wrote:
> The call to git-submodule.sh done in configure may happen without a
> previous checkout of the roms/SLOF submodule, or even without a
> previous run of the script.
>
> So, handle creating a .git-submodule-status file even in validate
> mode. If git is absent, ensure that all passed directories exists
> (because you should be in a fresh untar and will not have stale
> arguments to git-submodule.sh) but do no other checks. If git
> is present, ensure that .git-submodule-status contains an entry
> for all submodules passed on the command line.
>
> With this change, "ignore" mode is not needed anymore.
>
> Reported-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
> Fixes: b11f9bd96f4 ("configure: move SLOF submodule handling to
> pc-bios/s390-ccw", 2023-06-06)
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Tested-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> configure | 2 +-
> scripts/git-submodule.sh | 73 ++++++++++++++++++++++------------------
> 2 files changed, 42 insertions(+), 33 deletions(-)
[...]
> case "$command" in
> status|validate)
> - test -f "$substat" || validate_error "$command"
> - test -z "$maybe_modules" && exit 0
> for module in $modules; do
> - check_updated $module || validate_error "$command"
> + if is_git; then
> + check_updated $module || validate_error "$command"
> + elif ! (set xyz "$module"/* && test -e "$2"); then
You could also do set -- "$module"/* and use $1, not that it matters.
> + # The directory does not exist or it contains no files
> + echo "$0: sources not available for $module and $no_git_error"
> + validate_error "$command"
> + fi
> done
> - exit 0
> ;;
> +
> update)
> - test -e $substat || touch $substat
> - test -z "$maybe_modules" && exit 0
> + is_git || {
> + echo "$0: unexpectedly called with submodules but $no_git_error"
> + exit 1
> + }
>
> $GIT submodule update --init $modules 1>/dev/null
> test $? -ne 0 && update_error "failed to update modules"