From dec1e7fdcee5980202c36cb43597fc9110103312 Mon Sep 17 00:00:00 2001 From: Laurentiu Palcu Date: Tue, 18 Sep 2012 18:56:04 +0300 Subject: gtk-icon-cache: run the icon generation at rootfs time This change will allow for the icon cache generation at rootfs time and only once, at the end. So, even though there will be many packages depending on gtk+, the icon cache generation will be done once. Hopefully, this will lower the target's first boot time significantly by using the power of the host machine to generate the cache. (From OE-Core rev: 74e34f6828771095a25d2c2de89f468b33e359f7) Signed-off-by: Laurentiu Palcu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/gtk-icon-cache.bbclass | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass index 01fb2f3946..f87a30fd5b 100644 --- a/meta/classes/gtk-icon-cache.bbclass +++ b/meta/classes/gtk-icon-cache.bbclass @@ -1,12 +1,22 @@ 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 + if [ ! -f $INTERCEPT_DIR/update_icon_cache ]; then + cat << "EOF" > $INTERCEPT_DIR/update_icon_cache +#!/bin/sh + +# update native pixbuf loaders +gdk-pixbuf-query-loaders --update-cache + +for icondir in $D/usr/share/icons/*/ ; do + gtk-update-icon-cache -fqt $icondir +done +EOF + fi + exit 0 fi # Update the pixbuf loaders in case they haven't been registered yet -- cgit v1.2.3-54-g00ecf