[OE-core] [PATCH 03/12] populate_sdk_base: Update extraction script for multilibs

Laurentiu Palcu laurentiu.palcu at intel.com
Mon Oct 1 15:17:30 UTC 2012



On 10/01/2012 05:55 PM, Mark Hatle wrote:
> On 10/1/12 8:17 AM, Richard Purdie wrote:
>> On Sat, 2012-09-29 at 19:19 -0500, Mark Hatle wrote:
>>> When multilibs are enabled, there will be more then one environment
>>> file created.  We need to be sure to process each environment file.
>>> The next function can simply use the last environment file processed
>>> to get the magic value(s) that it requires.
>>>
>>> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
>>> ---
>>>   meta/classes/populate_sdk_base.bbclass |    5 +++--
>>>   1 files changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
>>> index 6eb6726..1bc1438 100644
>>> --- a/meta/classes/populate_sdk_base.bbclass
>>> +++ b/meta/classes/populate_sdk_base.bbclass
>>> @@ -158,8 +158,9 @@ echo "done"
>>>
>>>   printf "Setting it up..."
>>>   # fix environment paths
>>> -env_setup_script=$(find $target_sdk_dir/ -name "environment-setup-${REAL_MULTIMACH_TARGET_SYS}")
The reason to replace globbing with ${REAL_MULTIMACH_TARGET_SYS} was to
match only the file we're interested in and avoid matching other files
whose names start with environment-setup. However, since all the
environment-setup directories reside in $target_sdk_dir/ we would
probably be safer, and faster, by doing a simple ls and avoid searching
all the tree.

env_setup_script=$(ls $target_sdk_dir/environment-setup-*)

>>> -sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" -i $env_setup_script
>>> +for env_setup_script in `find $target_sdk_dir/ -name "environment-setup-*"` ; do
>>> +  sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" -i $env_setup_script
>>> +done
We could probably do this without the for loop since sed accepts
multiple input files.

>>>
>>>   # fix dynamic loader paths in all ELF SDK binaries
>>>   native_sysroot=$(cat $env_setup_script |grep OECORE_NATIVE_SYSROOT|cut -d'=' -f2|tr -d '"')
>>
>> This is on course to conflict with
>>
>> http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=1b6019086c4242c550b4e0551c7b5d206a0d52e1
>>
>> Can you please talk with Laurentiu and come up with a solution that
>> works for everyone.
> 
> I think this is a better fix for the problem.  The other change limits the 
> environment file to a single file.  However, there is nothing in the function -- 
> other then the use of 'env_setuo_script' -- that wants or needs a single file 
> loaded.
> 
> So it's better to find htem all and just iterate over them all.  Also the order 
> of processing, and the last item processed does not matter.  The later chunks of 
> functionality just look for a static value that is supposed to be the same in 
> all of the environment files.
> 
> --Mark
> 
>> Cheers,
>>
>> Richard
>>
> 




More information about the Openembedded-core mailing list