[Buildroot] [git commit] support/dependencies: check PATH does not carry a \n

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Jun 8 19:40:32 UTC 2017


commit: https://git.buildroot.net/buildroot/commit/?id=f00d6ec67bd6fed6ff8fd322d60d026ec87d8a6e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

... otherwise it fails spectacularly as soon as PATH is referenced in a
package rule (i.e. very soon, fortunately):

    >>> host-lzip 1.18 Downloading
    /bin/bash: -c: line 0: unexpected EOF while looking for matching `"'
    /bin/bash: -c: line 1: syntax error: unexpected end of file

Fixes # 9886.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Cc: Ciro Santilli <ciro.santilli at gmail.com>
[Thomas: fix typo in message, use tabs for indentation.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 support/dependencies/dependencies.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 168d196..a195c62 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -29,6 +29,18 @@ if test -n "$LD_LIBRARY_PATH" ; then
 	fi
 fi;
 
+# PATH should not contain a newline, otherwise it fails in spectacular ways
+# as soon as PATH is referenced in a package rule
+case "${PATH}" in
+(*"
+"*)	printf "\n"
+	# Break the '\n' sequence, or a \n is printed (which is not what we want).
+	printf "Your PATH contains a newline (%sn) character.\n" "\\"
+	printf "This doesn't work. Fix you PATH.\n"
+	exit 1
+	;;
+esac
+
 # sanity check for CWD in PATH. Having the current working directory
 # in the PATH makes the toolchain build process break.
 # try not to rely on egrep..


More information about the buildroot mailing list