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 master rev: 8c35ba2d3048ce69f74f72cb2676e4bc162cfb63)

(From OE-Core rev: 407e57879ea2f931bff32993b850c9d59d228303)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Laurentiu Palcu
2013-06-25 14:59:05 +03:00
committed by Richard Purdie
parent 64273e53f2
commit eb5ec8899d
2 changed files with 18 additions and 8 deletions

View File

@@ -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

View File

@@ -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