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

Kumar Gala galak at kernel.crashing.org
Fri Aug 5 12:42:54 UTC 2011


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

- k





More information about the Openembedded-core mailing list