All of lore.kernel.org
 help / color / mirror / Atom feed
From: ChenQi <Qi.Chen@windriver.com>
To: Saul Wold <sgw@linux.intel.com>
Cc: Zhangle.Yang@windriver.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] buildtools-tarball: unset OECORE_NATIVE_SYSROOT
Date: Fri, 2 Aug 2013 09:54:31 +0800	[thread overview]
Message-ID: <51FB1157.4050207@windriver.com> (raw)
In-Reply-To: <51FAA515.6050302@linux.intel.com>

On 08/02/2013 02:12 AM, Saul Wold wrote:
> On 07/29/2013 06:50 PM, Qi.Chen@windriver.com wrote:
>> From: Chen Qi <Qi.Chen@windriver.com>
>>
>> When building a qemu image inside the environment created by the
>> buildtools-tarball, the qemu image cannot be started, as the runqemu
>> script uses the tunctl binary which cannot be found inside the sysroot
>> directory of the buildtools-tarball.
>>
>> The buildtools-tarball is inherently a tool set instead of a fully
>> functional SDK, so leaving the OECORE_NATIVE_SYSROOT variable in the
>> environment will mess things up.
>>
>> However, we do need a line of 'OECORE_NATIVE_SYSROOT=xxx' in the 
>> environment
>> setup script so that the SDK can be extracted and relocated correctly.
>>
> Where is this being processed, can could be done as a since comment in 
> the the environment-setup script instead of exporting and unseting it?
>
meta/classes/populate_sdk_base.bbclass

The self-extraction script needs to get the location of native sysroot. 
And it does so by grep 'OECORE_NATIVE_SYSROOT=' expression in 
$env_setup_script.

Please see more details below (code snippet from populate_sdk_base.bbclass).

chenqi@pek-qchen1-d1:~/poky$ grep -i oecore_native_sysroot 
meta/classes/populate_sdk_base.bbclass
native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 
'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"')
chenqi@pek-qchen1-d1:~/poky$ grep -i -w native_sysroot 
meta/classes/populate_sdk_base.bbclass
native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 
'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"')
dl_path=$($SUDO_EXEC find $native_sysroot/lib -name "ld-linux*")
executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm /111)
$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"
for l in $($SUDO_EXEC find $native_sysroot -type l); do
# find out all perl scripts in $native_sysroot and modify them replacing the
for perl_script in $($SUDO_EXEC grep "^#!.*perl" -rl $native_sysroot); do

Best Regards,
Chen Qi

> Sau!
>> That's why this patch unsets the variable instead of removing it from 
>> the
>> environment setup script.
>>
>> [YOCTO #4939]
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>>   meta/recipes-core/meta/buildtools-tarball.bb |    6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-core/meta/buildtools-tarball.bb 
>> b/meta/recipes-core/meta/buildtools-tarball.bb
>> index 9771497..1f8f142 100644
>> --- a/meta/recipes-core/meta/buildtools-tarball.bb
>> +++ b/meta/recipes-core/meta/buildtools-tarball.bb
>> @@ -59,7 +59,11 @@ create_sdk_files_append () {
>> script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}}
>>       touch $script
>>       echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> 
>> $script
>> +    # OECORE_NATIVE_SYSROOT variable needs to be in $script so that the
>> +    # relocate script can find the ld-linux.so.
>>       echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
>> -
>> +    # buildtools-tarball is inherently a tool set instead of a fully 
>> functional SDK.
>> +    # Leaving OECORE_NATIVE_SYSROOT in environment will mess things up.
>> +    echo 'unset OECORE_NATIVE_SYSROOT' >> $script
>>       toolchain_create_sdk_version 
>> ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
>>   }
>>
>
>



  reply	other threads:[~2013-08-02  1:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-30  1:50 [PATCH 0/1] buildtools-tarball: unset OECORE_NATIVE_SYSROOT Qi.Chen
2013-07-30  1:50 ` [PATCH 1/1] " Qi.Chen
2013-08-01 18:12   ` Saul Wold
2013-08-02  1:54     ` ChenQi [this message]
2013-08-02  2:08     ` ChenQi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51FB1157.4050207@windriver.com \
    --to=qi.chen@windriver.com \
    --cc=Zhangle.Yang@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=sgw@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.