diff options
author | Trent Piepho <tpiepho@impinj.com> | 2018-09-17 11:10:54 -0700 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2018-09-18 22:03:23 +0200 |
commit | b8d0aadc6d52733cfc914ba3cd6f506238bd19f7 (patch) | |
tree | 52cd815256c6a7f550049144248f785f59d15073 /package/python-paramiko/python-paramiko.mk | |
parent | ca5ae83ccb7237e00d47cb4251ad2735012ae786 (diff) | |
download | buildroot-b8d0aadc6d52733cfc914ba3cd6f506238bd19f7.tar.gz buildroot-b8d0aadc6d52733cfc914ba3cd6f506238bd19f7.zip |
Makefile: fix issue with printvars executing giant shell command
The underlying problem is that $(foreach V,1 2 3,) does not evaluate to
an empty string. It evaluates to " ", three empty strings separated by
whitespace.
A construct of this format, with a giant list in the foreach, is part of
the printvars command. This means that "@:$(foreach ....)", which is
intended to expand to a null command, in fact expands to "@: "
with a great deal of whitespace. Make chooses to execute this command
with:
execve("/bin/sh", ["/bin/sh", "-c", ": "]
But with far more whitespace. So much that it can exceed shell command
line length limits.
This solution is to move the foreach to another step in the recipe. The
"@:" is retained as the first line so the recipe is not Empty, which
would cause a change in make behavior when make builds the target. The
2nd line, all whitespace, will be skipped by make.
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Diffstat (limited to 'package/python-paramiko/python-paramiko.mk')
0 files changed, 0 insertions, 0 deletions