Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mike Crowe <mac@mcrowe.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] pixbufcache: Ensure that jpeg-native is available for postinst if necessary
Date: Tue, 23 Jun 2015 19:46:27 +0100	[thread overview]
Message-ID: <20150623184627.GA31536@mcrowe.com> (raw)
In-Reply-To: <1435072851.11489.86.camel@linuxfoundation.org>

On Tuesday 23 June 2015 at 16:20:51 +0100, Richard Purdie wrote:
> On Tue, 2015-06-23 at 16:12 +0100, Phil Blundell wrote:
> > On Sat, 2015-06-13 at 19:44 +0100, Mike Crowe wrote:
> > > diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
> > > index 9e6ecc8..755a654 100644
> > > --- a/meta/classes/pixbufcache.bbclass
> > > +++ b/meta/classes/pixbufcache.bbclass
> > > @@ -72,6 +72,7 @@ PIXBUFCACHE_SYSROOT_DEPS_class-native = "\
> > >      glib-2.0-native:do_populate_sysroot_setscene libffi-native:do_populate_sysroot_setscene \
> > >      libpng-native:do_populate_sysroot_setscene zlib-native:do_populate_sysroot_setscene \
> > >      harfbuzz-native:do_populate_sysroot_setscene \
> > > +    ${@bb.utils.contains('PACKAGECONFIG', 'jpeg', 'jpeg-native:do_populate_sysroot_setscene', '', d)} \
> > 
> > I'm not sure this is quite right.  PACKAGECONFIG at the point this is
> > expanded will be the PACKAGECONFIG for whatever recipe is currently
> > inheriting pixbufcache.bbclass, whereas I think what you really need
> > here is the PACKAGECONFIG that gdk-pixbuf itself was built with.  Or,
> > er, something.
> 
> Right, its not that simple. As it happens I was just looking at this
> patch:
> 
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t222&id=32afecae2495b0486a044b66154573caf39144c7
> 
> which I proposed a while ago which does solve this problem, with some
> ugliness in base.bbclass. I know Ross doesn't like it, neither do I, I
> do prefer it to the pretty horrible things PIXBUFCACHE_SYSROOT_DEPS does
> though.

Based on my (probably incomplete) understanding of the problem and your
solution:

The setscene tasks for libpng-native, jpeg-native etc. will all be run
automatically as setscene tasks. The problem is that they might not run
before pixbufcache_sstate_postinst does.

The existing hack, which I extended inexpertly, ensured that the setscene
tasks run in the right order so that libpng-native, jpeg-native etc. are
definitely present in the sysroot prior to pixbufcache_sstate_postinst
running.

Would it be possible to make your change less "ugly" by making it more
generic. For example, adding a companion to SSTATEPOSTINSTFUNCS named
SSTATELATEPOSTINSTFUNCS that runs at the sceneQueueComplete event?

Alternatively, I'm afraid that I don't understand why pixbufcache.bbclass
can't have its own event handler which would at least keep the ugliness in
a single file.

Having said all that, I'm slightly worried about what would happen if
gdk-pixbuf-native were to be resurrected from sstate but jpeg-native could
not be (e.g. perhaps the file has gone missing.) The end of setscene would
still be too early to run the postinst in that case. I've not experimented
to see if this can really happen though.

I'm prepared to have a go at trying to fix this in an acceptable way but
I'm not really sure how to go about it. :(

Thanks.

Mike.


  reply	other threads:[~2015-06-23 18:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-13 18:44 [PATCH] pixbufcache: Ensure that jpeg-native is available for postinst if necessary Mike Crowe
2015-06-13 18:46 ` Mike Crowe
2015-06-23 15:12 ` Phil Blundell
2015-06-23 15:20   ` Richard Purdie
2015-06-23 18:46     ` Mike Crowe [this message]
2015-06-23 15:25   ` Mike Crowe
2015-06-23 16:56     ` Richard Purdie

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=20150623184627.GA31536@mcrowe.com \
    --to=mac@mcrowe.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.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