From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] gtk-icon-cache.bbclass: Fix multiple rebuilds of the icon cache on first boot
Date: Fri, 23 Mar 2012 12:12:25 +0000 [thread overview]
Message-ID: <1332504745.9740.398.camel@ted> (raw)
In-Reply-To: <1332443701-24282-1-git-send-email-schnitzeltony@googlemail.com>
On Thu, 2012-03-22 at 20:15 +0100, Andreas Müller wrote:
> * Before this patch every inheritance of this class rebuilt the full icon cache at the first boot.
> * With this patch the icon cache will only be build once at the first boot and on pkg installations that require it.
> * This patch reduces the time needed for the first boot from 96 minutes to 5 minutes on the test machine.
> * Build-tested incremental (BB_SIGNATURE_HANDLER = "OEBasicHash") & from scratch
> * Run-tested with systemd and opkg
>
> Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
> Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
> ---
> meta/classes/gtk-icon-cache.bbclass | 19 +++++++++-------
> .../gtk+/gtk-update-icon-cache-runonce.bb | 23 ++++++++++++++++++++
> .../gtk-update-icon-cache-runonce.in | 16 +++++++++++++
> 3 files changed, 50 insertions(+), 8 deletions(-)
> create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-runonce.bb
> create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-runonce/gtk-update-icon-cache-runonce.in
>
> diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
> index 60e3401..b48aabe 100644
> --- a/meta/classes/gtk-icon-cache.bbclass
> +++ b/meta/classes/gtk-icon-cache.bbclass
> @@ -9,14 +9,16 @@ 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
> - if [ -d $icondir ] ; then
> - gtk-update-icon-cache -fqt $icondir
> - fi
> -done
> +# do not execute in case a final run-once is waiting
> +if [ ! -e ${sysconfdir}/init.d/gtk-update-icon-cache-runonce ]; then
> + # 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
> + if [ -d $icondir ] ; then
> + gtk-update-icon-cache -fqt $icondir
> + fi
> + done
> +fi
Can't we just reduce this to adding a "touch
${sysconfdir}/init.d/gtk-update-icon-cache-runonce" to the above code
and then clear that file at boot time?
Cheers,
Richard
next prev parent reply other threads:[~2012-03-23 12:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-22 19:15 [PATCH] gtk-icon-cache.bbclass: Fix multiple rebuilds of the icon cache on first boot Andreas Müller
2012-03-22 19:34 ` Koen Kooi
2012-03-22 19:51 ` Andreas Müller
2012-03-22 20:06 ` Koen Kooi
2012-03-23 12:12 ` Richard Purdie [this message]
2012-03-23 22:46 ` Andreas Müller
2012-03-23 23:37 ` Richard Purdie
2012-03-26 7:39 ` Andreas Müller
2012-03-26 9:19 ` Richard Purdie
2012-03-26 11:43 ` Andreas Müller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1332504745.9740.398.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox