[OE-core] [PATCH v2 2/2] populate_sdk_base: ensure that filenames with empty space character are handled
João Henrique Ferreira de Freitas
joaohf at gmail.com
Wed Jul 16 03:01:54 UTC 2014
Em 15-07-2014 10:33, Otavio Salvador escreveu:
> On Mon, Jul 14, 2014 at 7:55 PM, João Henrique Ferreira de Freitas
> <joaohf at gmail.com> 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.
>>
>> Signed-off-by: João Henrique Ferreira de Freitas <joaohf at gmail.com>
> I am wondering if we cannot get rid of the 'tr' command that converts
> newlines to '\0'. This would avoid a new fork of command. Did you
> think about it?
>
I think it's possible. Maybe using: awk -F':' '{printf "%s\0", $1}'
like this:
$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"
I will finish my tests before send a v3.
Thanks.
--
João Henrique Ferreira de Freitas - joaohf_at_gmail.com
Campinas-SP-Brasil
More information about the Openembedded-core
mailing list