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 <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Laurentiu Palcu 2012-09-18 18:56:04 +03:00 committed by Richard Purdie
parent fd401f292e
commit dec1e7fdce
1 changed files with 14 additions and 4 deletions

View File

@ -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