Il mar 20 giu 2023, 19:35 Nina Schoetterl-Glausch <n...@linux.ibm.com> ha
scritto:

> > +            modules="$modules $m"
> > +            grep $m $substat > /dev/null 2>&1 || $GIT submodule status
> $module >> $substat
> > +        else
> > +            echo "warn: ignoring non-existent submodule $m"
>
> What is the rational for ignoring non-existing submodules, i.e. how do the
> arguments to
> the script go stale as you say in the patch description?
>

For example when a Makefile calls the script before the Makefile itself is
rebuilt.

I'm asking because the fedora spec file initializes a new git repo in order
> to apply
> patches so the script exits with 0.


You mean it succeeds even if roms/SLOF is empty?

Nothing that cannot be worked around ofc.
>
> > +        fi
> > +    done
> > +else
> > +    modules=$maybe_modules
> >  fi
> >
> > -if test -n "$maybe_modules" && test -z "$GIT"
> > -then
> > -    echo "$0: unexpectedly called with submodules but git binary not
> found"
> > -    exit 1
> > -fi
> > -
> > -modules=""
> > -for m in $maybe_modules
> > -do
> > -    $GIT submodule status $m 1> /dev/null 2>&1
> > -    if test $? = 0
> > -    then
> > -        modules="$modules $m"
> > -    else
> > -        echo "warn: ignoring non-existent submodule $m"
> > -    fi
> > -done
> > -
> >  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 ! test -d $module; then
>
> archive-source.sh creates an empty directory for e.g. roms/SLOF,
> so this check succeeds even if the submodule sources are unavailable.

Something like
>
>         elif ! test -d $module || test -z "$(ls -A "$module")"; then
>

Or (set "$module"/* && test -e "$1").

Paolo

works.
>
> > +            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"
>
>

Reply via email to