[OE-core] [PATCH] gtk-icon-cache bbclass: only add runtime dependencies on hicolor-icon-theme when installing icons

Koen Kooi koen at beagleboard.org
Fri Aug 5 14:16:08 UTC 2011


Op 5 aug 2011, om 15:19 heeft Richard Purdie het volgende geschreven:

> On Fri, 2011-08-05 at 07:42 -0500, Kumar Gala wrote:
>> On Aug 5, 2011, at 1:51 AM, Koen Kooi wrote:
>>
>>>
>>> Op 5 aug. 2011, om 08:44 heeft Koen Kooi het volgende geschreven:
>>>
>>>>
>>>> Op 5 aug. 2011, om 07:48 heeft Koen Kooi het volgende geschreven:
>>>>
>>>>>
>>>>> Op 5 aug. 2011, om 07:32 heeft Saul Wold het volgende geschreven:
>>>>>
>>>>>> On 08/04/2011 10:28 PM, Koen Kooi wrote:
>>>>>>>
>>>>>>> Op 5 aug. 2011, om 04:23 heeft Saul Wold het volgende  
>>>>>>> geschreven:
>>>>>>>
>>>>>>>> On 08/01/2011 04:08 AM, Koen Kooi wrote:
>>>>>>>>> Tested with gnome-icon-theme and libsoup recipes on angstrom.
>>>>>>>>>
>>>>>>>> But you did not test it against anything in oe-core, it has  
>>>>>>>> broken the build for connman-gnome and oprofileui, which use  
>>>>>>>> this bbclass.
>>>>>>>>
>>>>>>>> The oe-core gnome-icon-theme does not include this class.
>>>>>>>>
>>>>>>>> Please correct this.
>>>>>>>>
>>>>>>>> Processing task-base-extended...
>>>>>>>> | error: Failed dependencies:
>>>>>>>> | 	hicolor-icon-theme is needed by tasks-0.19-r0.armv5te
>>>>>>>> | 	hicolor-icon-theme is needed by connman-gnome-0.5-r6.armv5te
>>>>>>>> | 	hicolor-icon-theme is needed by oprofileui- 
>>>>>>>> server-0.0+git1+0c3c32fa754c1d0b70e65767ea7048914f776396- 
>>>>>>>> r4.armv5te
>>>>>>>
>>>>>>> So you found broken metadata. If tasks, connman-gnome and  
>>>>>>> oprofileui-server need hicolor-icon-theme, they should list it  
>>>>>>> in their RDEPENDS_${PN}. That is a seperate issue than what I  
>>>>>>> fixed in the bbclass
>>>>>>
>>>>>> Koen, the gtk-icon-cache.bbclass did contain that RDEPENDS,  
>>>>>> which you removed
>>>>>
>>>>> It wasn't removed, it was changed to only add the dependency  
>>>>> when needed, and by the looks of it it works.
>>>>>
>>>>> Does the following patch work for you?
>>>>>
>>>>> diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/ 
>>>>> gtk-icon-cache.bbclass
>>>>> index d9b5d1b..1e65e06 100644
>>>>> --- a/meta/classes/gtk-icon-cache.bbclass
>>>>> +++ b/meta/classes/gtk-icon-cache.bbclass
>>>>> @@ -1,5 +1,8 @@
>>>>> FILES_${PN} += "${datadir}/icons/hicolor"
>>>>>
>>>>> +# OE can't resolve RDEPENDS added thru the python code below,  
>>>>> so make sure it has been built.
>>>>> +DEPENDS += "hicolor-icon-theme"
>>>>> +
>>>>> # This could run on the host as icon cache files are  
>>>>> architecture independent,
>>>>> # but there is no gtk-update-icon-cache built natively.
>>>>> gtk_icon_cache_postinst() {
>>>>
>>>>
>>>> I can answer that myself: no, it will cause a dependency loop
>>>
>>>
>>> And this one?
>>>
>>> +++ b/meta/classes/gtk-icon-cache.bbclass
>>> @@ -1,5 +1,7 @@
>>> FILES_${PN} += "${datadir}/icons/hicolor"
>>>
>>> +DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor- 
>>> icon-theme']}"
>>
>> This fixes my issue with core-image-sato on mpc8315
>
> This looks right to me. Should I turn this into a commit or are you
> waiting for some reason?

I was out of town most of the day, I'll send a patch in a few minutes  
now that I'm home again.




More information about the Openembedded-core mailing list