From: Trent Piepho <tpiepho@impinj.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] Fix issue with printvars executing giant shell command
Date: Mon, 17 Sep 2018 18:02:50 +0000 [thread overview]
Message-ID: <1537207369.7736.6.camel@impinj.com> (raw)
In-Reply-To: <20180910181837.GG2674@scaer>
On Mon, 2018-09-10 at 20:18 +0200, Yann E. MORIN wrote:
> On 2018-09-10 17:45 +0000, Trent Piepho spake thusly:
> > On Wed, 2018-08-29 at 22:49 +0200, Yann E. MORIN wrote:
> > > On 2018-08-17 16:15 -0700, Trent Piepho spake thusly:
> > > >
> > > > The solution here is to use $(strip $(foreach ...)), so the command
> > > > expands to "@:", which make is smart enough to not even execute and
> > > > wouldn't exceed any limits if it did.
> > > >
> So what about:
>
> diff --git a/Makefile b/Makefile
> index 2c6af12989..57e776056c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -988,7 +988,8 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR)
> # displayed.
> .PHONY: printvars
> printvars:
> - @:$(foreach V, \
> + @:
> + $(foreach V, \
> $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \
> $(if $(filter-out environment% default automatic, \
> $(origin $V)), \
>
> In a recipe, a command line that contains only spaces will not be executed
> by make.
>
> So with the above, you get the silence from a rule, and no long-shell
> commands that break.
>
> > However, it is clearly defined that strip will convert a sequence of
> > whitespace to an empty string, so I figured better to relay on that.
>
> I'm just trying to keep it simple.
Ok, if you like that better. My thought was "strip eats whitespace" is
simple, but "a recipe line starting with a tab and containing only
whitespace is skipped" is more obscure. In fact, while it does appear
to be true, I haven't found anything in the make docs clearly stating
this.
next prev parent reply other threads:[~2018-09-17 18:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-17 23:15 [Buildroot] [PATCH] Fix issue with printvars executing giant shell command Trent Piepho
2018-08-29 20:49 ` Yann E. MORIN
2018-09-10 17:45 ` Trent Piepho
2018-09-10 18:18 ` Yann E. MORIN
2018-09-17 18:02 ` Trent Piepho [this message]
2018-09-17 19:54 ` Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1537207369.7736.6.camel@impinj.com \
--to=tpiepho@impinj.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.