support/dependencies: check PATH does not carry a \n
authorYann E. MORIN <yann.morin.1998@free.fr>
Sat, 20 May 2017 08:20:05 +0000 (10:20 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 8 Jun 2017 19:40:32 +0000 (21:40 +0200)
... 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@free.fr>
Cc: Ciro Santilli <ciro.santilli@gmail.com>
[Thomas: fix typo in message, use tabs for indentation.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
support/dependencies/dependencies.sh

index 168d1960a17709edbe7550c6710e380795436b03..a195c62c8ccea091eb593996def3c3804f5a2b10 100755 (executable)
@@ -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..