populate_sdk_base: ensure that filenames with empty space character are handled
When extracting toolchain, if the list $executable_files has filenames with empty space character, the list will created but relocate_sdk.sh will not handle it well. This will lead to the below erro: ./tmp/deploy/sdk/buildtools-mytools-x86_64-nativesdk-standalone-1.6.1.0.sh Enter target directory for SDK (default: /opt/mydistro/mytoolset/1.6.1.0): You are about to install the SDK to "/opt/mydistro/mytoolset/1.6.1.0". Proceed[Y/n]? Extracting SDK...done Setting it up.../opt/mydistro/mytoolset/1.6.1.0/relocate_sdk.sh: line 2: sintaxe error `token' `(' /opt/mydistro/mytoolset/1.6.1.0/relocate_sdk.sh: line 2: `e The same occurs with replacement of ${SDKPATH} in configs/scripts/etc files. We should ensure that full path is protected before relocate_sdk.sh and ${SDKPATH} replacement calls. (From OE-Core rev: d7adf8349a65da6f0fdd0f00e606e8bc27ce3f28) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
f07c17dcee
commit
6403cd034c
|
@ -252,7 +252,7 @@ if [ "$dl_path" = "" ] ; then
|
|||
echo "SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!"
|
||||
exit 1
|
||||
fi
|
||||
executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm /111)
|
||||
executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm /111 -printf "'%h/%f' ")
|
||||
|
||||
tdir=`mktemp -d`
|
||||
if [ x$tdir = x ] ; then
|
||||
|
@ -273,7 +273,7 @@ if [ $relocate = 1 ] ; then
|
|||
fi
|
||||
|
||||
# replace ${SDKPATH} with the new prefix in all text files: configs/scripts/etc
|
||||
$SUDO_EXEC find $native_sysroot -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\|source\).*text"|cut -d':' -f1|$SUDO_EXEC xargs sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g"
|
||||
$SUDO_EXEC find $native_sysroot -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\|source\).*text"|awk -F':' '{printf "%s\0", $1}'|$SUDO_EXEC xargs -0 sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g"
|
||||
|
||||
# change all symlinks pointing to ${SDKPATH}
|
||||
for l in $($SUDO_EXEC find $native_sysroot -type l); do
|
||||
|
|
Loading…
Reference in New Issue