On 07/01/2014 06:58 PM, João Henrique Ferreira de Freitas wrote:
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.


I am not sure about this one, there are other cases where spaces in filenames/directory pathes just don't work, so fixing one place may not address all issues, I thought this was documented someplace, but I can't seem to find the associated bug or wiki entries.

Maybe someone else can remind me also where we talk about whitespace in pathe, obviously my search-fu is off right now.

Sau!

Signed-off-by: João Henrique Ferreira de Freitas <[email protected]>
---
  meta/classes/populate_sdk_base.bbclass | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/populate_sdk_base.bbclass 
b/meta/classes/populate_sdk_base.bbclass
index a12bf11..5311271 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -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 -exec 
echo \'{}\' \;)

  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"|cut 
-d':' -f1|tr "\n" "\0"|$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

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to