Op 27 jan. 2012, om 00:52 heeft Richard Purdie het volgende geschreven:

> On Fri, 2012-01-27 at 00:17 +0100, Koen Kooi wrote:
>> Op 26 jan. 2012, om 21:51 heeft Richard Purdie het volgende geschreven:
>> 
>>> On Thu, 2012-01-26 at 18:03 +0100, Koen Kooi wrote:
>>>> If a recipe packages multiple versions of shlib (e.g. powervr drivers) we 
>>>> only want the shlib code to pickup $PN, not $PN-foo subpackages.
>>>> This keeps backward compatibility with the global PRIVATE_LIBS usage if no 
>>>> per package PRIVATE_LIBS are set for a given package. In other words: this 
>>>> doesn't break the firefox recipe.
>>>> 
>>>> Signed-off-by: Koen Kooi <[email protected]>
>>>> ---
>>>> meta/classes/package.bbclass |    5 ++++-
>>>> 1 files changed, 4 insertions(+), 1 deletions(-)
>>>> 
>>>> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
>>>> index 45447e3..22a76cf 100644
>>>> --- a/meta/classes/package.bbclass
>>>> +++ b/meta/classes/package.bbclass
>>>> @@ -1246,7 +1246,8 @@ python package_do_shlibs() {
>>>>                            if not this_soname in sonames:
>>>>                                    # if library is private (only used by 
>>>> package) then do not build shlib for it
>>>>                                    if not private_libs or -1 == 
>>>> private_libs.find(this_soname):
>>>> -                                          sonames.append(this_soname)
>>>> +                                          if not private_libs_pkg or -1 
>>>> == private_libs_pkg.find(this_soname):
>>>> +                                                  
>>>> sonames.append(this_soname)
>>>>                            if libdir_re.match(root):
>>>>                                    needs_ldconfig = True
>>>>                            if snap_symlinks and (file != this_soname):
>>>> @@ -1328,6 +1329,8 @@ python package_do_shlibs() {
>>>>    shlib_provider = {}
>>>>    private_libs = d.getVar('PRIVATE_LIBS', True)
>>>>    for pkg in packages.split():
>>>> +          if not private_libs:
>>>> +                  private_libs_pkg = d.getVar('PRIVATE_LIBS_' + pkg, True)
>>> 
>>> You might as well just put:
>>> 
>>>                        private_libs = d.getVar('PRIVATE_LIBS_' + pkg, True)
>>> 
>>> and drop the first bit of the patch.
>> 
>> Wouldn't that kill backward compatibility?
> 
> No, since it would only take effect if the plain PRIVATE_LIBS was not
> set...

The problem with the 'private_libs' var is that it's global and this needs a 
pkg local variable.

regards,

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

Reply via email to