summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2013-06-25 14:59:05 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-25 17:59:17 +0100
commit8e9501ffa8726d69412d669580d787ffedb88d34 (patch)
tree4a916e780488ab5a172a460dbb4ccd4dc87197d9
parente3e9cf02cdf9fd4f3a1a3b73e232a390abe05321 (diff)
downloadast2050-yocto-poky-8e9501ffa8726d69412d669580d787ffedb88d34.zip
ast2050-yocto-poky-8e9501ffa8726d69412d669580d787ffedb88d34.tar.gz
populate_sdk_base, adt_installer: abort install if path contains spaces
Spaces are not handled properly in some parts of oe-core and it's safer to abort toolchain installation if path contains spaces. Even though we fix space handling in the toolchain installation script, there are various other parts in the toolchain (perl scripts, sysroot path passed to toolchain binaries, shebang lines) that would need special handling. So, for now, just bail out if path contains spaces. The checking for spaces in the path is done after expanding relative paths to absolute and tilde conversion. [YOCTO #4488] (From OE-Core rev: 8c35ba2d3048ce69f74f72cb2676e4bc162cfb63) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/populate_sdk_base.bbclass13
-rwxr-xr-xmeta/recipes-devtools/installer/adt-installer/adt_installer13
2 files changed, 18 insertions, 8 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index e5bc0b4..31e848d 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -181,11 +181,16 @@ else
echo "$target_sdk_dir"
fi
-eval target_sdk_dir=$target_sdk_dir
-if [ -d $target_sdk_dir ]; then
- target_sdk_dir=$(cd $target_sdk_dir; pwd)
+eval target_sdk_dir=$(printf "%q" "$target_sdk_dir")
+if [ -d "$target_sdk_dir" ]; then
+ target_sdk_dir=$(cd "$target_sdk_dir"; pwd)
else
- target_sdk_dir=$(readlink -m $target_sdk_dir)
+ target_sdk_dir=$(readlink -m "$target_sdk_dir")
+fi
+
+if [ -n "$(echo $target_sdk_dir|grep ' ')" ]; then
+ echo "The target directory path ($target_sdk_dir) contains spaces. Abort!"
+ exit 1
fi
if [ -e "$target_sdk_dir/environment-setup-${REAL_MULTIMACH_TARGET_SYS}" ]; then
diff --git a/meta/recipes-devtools/installer/adt-installer/adt_installer b/meta/recipes-devtools/installer/adt-installer/adt_installer
index c012391..58728af 100755
--- a/meta/recipes-devtools/installer/adt-installer/adt_installer
+++ b/meta/recipes-devtools/installer/adt-installer/adt_installer
@@ -339,11 +339,16 @@ if [ "$INSTALL_FOLDER" = "" ]; then
INSTALL_FOLDER=$DEFAULT_INSTALL_FOLDER
fi
-eval INSTALL_FOLDER=$INSTALL_FOLDER
-if [ -d $INSTALL_FOLDER ]; then
- export INSTALL_FOLDER=$(cd $INSTALL_FOLDER; pwd)
+eval INSTALL_FOLDER=$(printf "%q" "$INSTALL_FOLDER")
+if [ -d "$INSTALL_FOLDER" ]; then
+ export INSTALL_FOLDER=$(cd "$INSTALL_FOLDER"; pwd)
else
- export INSTALL_FOLDER=$(readlink -m $INSTALL_FOLDER)
+ export INSTALL_FOLDER=$(readlink -m "$INSTALL_FOLDER")
+fi
+
+if [ -n "$(echo $INSTALL_FOLDER|grep ' ')" ]; then
+ echo "The target directory path ($INSTALL_FOLDER) contains spaces. Abort!"
+ exit 1
fi
clear
OpenPOWER on IntegriCloud