[OE-core] [RFC 4/7] gtk-icon-cache: run the icon generation at rootfs time
Khem Raj
raj.khem at gmail.com
Wed Sep 19 13:28:44 UTC 2012
On Wed, Sep 19, 2012 at 4:49 AM, Laurentiu Palcu
<laurentiu.palcu at intel.com> wrote:
> 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.
>
> Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
> ---
> meta/classes/gtk-icon-cache.bbclass | 21 +++++++++++++++++----
> 1 file changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
> index 01fb2f3..f65b11c 100644
> --- a/meta/classes/gtk-icon-cache.bbclass
> +++ b/meta/classes/gtk-icon-cache.bbclass
> @@ -1,12 +1,24 @@
> 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/bash -x
Do you really need bash for this script to run ? if so then can it be
written so that it works on posixly shells.
> +
> +# Update the native pixbuf loader's cache
> +gdk-pixbuf-query-loaders --update-cache
> +
> +for icondir in $D/usr/share/icons/* ; do
> + if [ -d $icondir ] ; then
> + gtk-update-icon-cache -fqt $icondir
> + fi
> +done
> +EOF
> + fi
> + exit 0
> fi
>
> # Update the pixbuf loaders in case they haven't been registered yet
> @@ -17,6 +29,7 @@ for icondir in /usr/share/icons/* ; do
> gtk-update-icon-cache -fqt $icondir
> fi
> done
> +
> }
>
> gtk_icon_cache_postrm() {
> --
> 1.7.9.5
>
>
> _______________________________________________
> 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