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

Koen Kooi koen at dominion.thruhere.net
Fri Aug 5 06:51:43 UTC 2011


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']}"



More information about the Openembedded-core mailing list