[PATCH] build: make _make_dirs robust against too long argument error

Robert Marko robimarko at gmail.com
Thu Apr 4 05:46:14 PDT 2024


On Thu, 4 Apr 2024 at 13:06, Felix Fietkau <nbd at nbd.name> wrote:
>
> On 25.03.24 10:51, Robert Marko wrote:
> > _make_dirs currently can fail as _DIRS can be really long and thus go over
> > the MAX_ARG_STRLEN limit so it will fail with:
> > /bin/sh: Argument list too long
> >
> > Lets avoid this by stripping the $(BUILDDIR) prefix and then restoring it.
> >
> > Signed-off-by: Robert Marko <robimarko at gmail.com>
> > ---
> >   src/build.rules | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/build.rules b/src/build.rules
> > index acda88472..497580d88 100644
> > --- a/src/build.rules
> > +++ b/src/build.rules
> > @@ -80,7 +80,7 @@ endif
> >   _DIRS := $(BUILDDIR)/$(PROJ)
> >   .PHONY: _make_dirs
> >   _make_dirs:
> > -     @mkdir -p $(_DIRS)
> > +     @printf '$(BUILDDIR)/%s ' $(patsubst $(BUILDDIR)/%,%,$(_DIRS)) | xargs mkdir -p
>
> It's simpler and more robust to simply do:
>         @mkdir -p $(sort $(_DIRS))

I agree, do you want to send that version?

Regards,
Robert
>
> - Felix



More information about the Hostap mailing list