浏览代码

dependencies: check that . is not in the PATH

Having . in the PATH makes the toolchain build process fail because it
confuses host tools and target tools.

This fixes bug #75.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni 15 年之前
父节点
当前提交
c87eb21e00
共有 1 个文件被更改,包括 15 次插入0 次删除
  1. 15 0
      toolchain/dependencies/dependencies.sh

+ 15 - 0
toolchain/dependencies/dependencies.sh

@@ -34,6 +34,21 @@ if test -n "$LD_LIBRARY_PATH" ; then
 	fi
 fi;
 
+# 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..
+if test -n "$PATH" ; then
+	/bin/echo TRiGGER_start"$PATH"TRiGGER_end | /bin/grep ':\.:' >/dev/null 2>&1 ||
+	/bin/echo TRiGGER_start"$PATH"TRiGGER_end | /bin/grep 'TRiGGER_start\.:' >/dev/null 2>&1 ||
+	/bin/echo TRiGGER_start"$PATH"TRiGGER_end | /bin/grep ':\.TRiGGER_end' >/dev/null 2>&1 ||
+	/bin/echo TRiGGER_start"$PATH"TRiGGER_end | /bin/grep 'TRIGGER_start\.TRIGGER_end' >/dev/null 2>&1
+	if test $? = 0; then
+		/bin/echo -e "\nYou seem to have the current working directory in your"
+		/bin/echo -e "PATH environment variable. This doesn't work.\n"
+		exit 1;
+	fi
+fi;
+
 # Verify that which is installed
 if ! which which > /dev/null ; then
 	/bin/echo -e "\nYou must install 'which' on your build machine\n";