[OE-core] [PATCH 4/5] gtk-icon-cache: call postinst scriplet at do_rootfs time

Laurentiu Palcu laurentiu.palcu at intel.com
Sat Aug 4 14:01:15 UTC 2012



On 08/04/2012 12:29 PM, Andreas Müller wrote:
> On Sat, Aug 4, 2012 at 9:49 AM, Laurentiu Palcu
> <laurentiu.palcu at intel.com> wrote:
>>
>>
>> On 08/04/2012 02:22 AM, Andreas Müller wrote:
>>> On Fri, Aug 3, 2012 at 10:19 PM, Laurentiu Palcu
>>> <laurentiu.palcu at intel.com> wrote:
>>>> This will improve first boot time because building the icon cache is
>>>> done on host, with more processing power than the target.
>>>>
>>>> Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
>>>> ---
>>>>  meta/classes/gtk-icon-cache.bbclass |   10 ++--------
>>>>  1 file changed, 2 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
>>>> index 01fb2f3..2d82c54 100644
>>>> --- a/meta/classes/gtk-icon-cache.bbclass
>>>> +++ b/meta/classes/gtk-icon-cache.bbclass
>>>> @@ -1,18 +1,12 @@
>>>>  FILES_${PN} += "${datadir}/icons/hicolor"
>>>>
>>>> -DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']}"
>>>> +DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk+-native"
>>>>
>>>> -# 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() {
>>>> -if [ "x$D" != "x" ]; then
>>>> -        exit 1
>>>> -fi
>>>> -
>>>>  # Update the pixbuf loaders in case they haven't been registered yet
>>>>  GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders gdk-pixbuf-query-loaders --update-cache
>>>>
>>>> -for icondir in /usr/share/icons/* ; do
>>>> +for icondir in $D/usr/share/icons/* ; do
>>>>      if [ -d $icondir ] ; then
>>>>          gtk-update-icon-cache -fqt  $icondir
>>>>      fi
>>>> --
>>>> 1.7.9.5
>>>>
>>> Long time ago there was a patch introducing gtk-icon-cache to be only
>>> run once on the machine [1] and I am still using that. At that time I
>>> was asked for a more generic approach. Now I ask:
>>>
>>> 1. Wouldn't it be better to have gtk-icon-cache run once even on host
>> But this is what these patches do. Make gtk-update-icon-cache run on
>> host, when the target rootfs is constructed, rather than running it on
>> target, at first boot.
> As far as I can see gtk-icon-cache is run for each package - how much
> extra build time at do_rootfs is to expect?
I didn't measure it. But I didn't notice do_roofts task taking a lot
more than it took previously. However, host machines these days have
lots of MHz under the hood, multiple cores and quite a lot of RAM,
compared to target machines. So, I do believe that waiting for some
extra tens of seconds at build time is a trade-off we can live with,
compared to waiting entire minutes for the target's first boot.

Thanks,
Laurentiu
> 
> Andreas
>>
>> Thanks,
>> Laurentiu
>>
>>> 2. Or better: How about a postinst 'runonce' framework for host/machine?
>>>
>>> Andreas
>>>
>>> [1] http://patches.openembedded.org/patch/24179/
>>>
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 




More information about the Openembedded-core mailing list