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

Richard Purdie richard.purdie at linuxfoundation.org
Fri Aug 5 13:19:19 UTC 2011


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?

Cheers,

Richard





More information about the Openembedded-core mailing list