From: Mark Hatle <mark.hatle@windriver.com>
To: Laurentiu Palcu <laurentiu.palcu@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 03/12] populate_sdk_base: Update extraction script for multilibs
Date: Mon, 1 Oct 2012 10:25:27 -0500 [thread overview]
Message-ID: <5069B5E7.6010900@windriver.com> (raw)
In-Reply-To: <5069B40A.5090902@intel.com>
On 10/1/12 10:17 AM, Laurentiu Palcu wrote:
>
>
> 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@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-*)
That seems reasonable to me, and a lot faster then the find.
>>>> -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.
The end result of the env_setups_script though, needs to only contain -one-
environment script (doesn't matter which one). That's why I used the loop.
>>>>
>>>> # fix dynamic loader paths in all ELF SDK binaries
>>>> native_sysroot=$(cat $env_setup_script |grep OECORE_NATIVE_SYSROOT|cut -d'=' -f2|tr -d '"')
The code snippet above is the reason why it can only contain the one item.. but
it happens that OECORE_NATIVE_SYSROOT is the same in all environment files (and
has to be...) So it's safe to just use the last processed item.
A for loop shouldn't be any slower then calling the set w/ multilib inputs and
then later adjusting the variable to only be one item. (We're talking at a
maximum 3 environment scripts.. thus why it shouldn't be an issue.)
>>>
>>> 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
>>>
>>
next prev parent reply other threads:[~2012-10-01 15:38 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-30 0:19 [PATCH 00/12] Multilib, duplicate deps, and misc cleanup Mark Hatle
2012-09-30 0:19 ` [PATCH 01/12] multilib: Add support for cross-canadian multilib packages Mark Hatle
2012-09-30 0:19 ` [PATCH 02/12] multilib - crosssdk: Stop building multilib for crosssdk packages Mark Hatle
2012-09-30 0:19 ` [PATCH 03/12] populate_sdk_base: Update extraction script for multilibs Mark Hatle
2012-10-01 13:17 ` Richard Purdie
2012-10-01 14:55 ` Mark Hatle
2012-10-01 15:17 ` Laurentiu Palcu
2012-10-01 15:25 ` Mark Hatle [this message]
2012-10-01 15:47 ` Laurentiu Palcu
2012-09-30 0:19 ` [PATCH 04/12] bb.utils.explode_dep_versions: Update to ensure we avoid duplicate deps Mark Hatle
2012-10-01 13:09 ` Richard Purdie
2012-10-01 14:53 ` Mark Hatle
2012-10-01 15:04 ` Richard Purdie
2012-09-30 0:19 ` [PATCH 05/12] package_deb/ipk: Remap < and > to << and >> Mark Hatle
2012-09-30 0:19 ` [PATCH 06/12] libxcb: Update DEPENDS to avoid duplicate entries Mark Hatle
2012-09-30 0:19 ` [PATCH 07/12] Cleanup: fix PN == BPN cases Mark Hatle
2012-09-30 0:19 ` [PATCH 08/12] multilib: Move redefinition of STAGING_DIR_KERNEL Mark Hatle
2012-09-30 0:19 ` [PATCH 09/12] rpm-native: Fix 'uuid_rc_t' undeclared error when compiling Mark Hatle
2012-09-30 0:19 ` [PATCH 10/12] rpm: Fix file contention issue Mark Hatle
2012-09-30 0:19 ` [PATCH 11/12] rpm: Add rpm patch to fix git_strerror issues Mark Hatle
2012-09-30 0:19 ` [PATCH 12/12] rpm: Implement workaround for DB_BUFFER_SMALL error Mark Hatle
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=5069B5E7.6010900@windriver.com \
--to=mark.hatle@windriver.com \
--cc=laurentiu.palcu@intel.com \
--cc=openembedded-core@lists.openembedded.org \
/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.