All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: RDEPENDS of packages created by PACKAGES_DYNAMIC not built before image rootfs
Date: Tue, 27 Nov 2012 15:07:32 -0600	[thread overview]
Message-ID: <50B52B94.6020700@windriver.com> (raw)
In-Reply-To: <20121127202356.GJ3692@jama.jama.net>

On 11/27/12 2:23 PM, Martin Jansa wrote:
> On Tue, Nov 27, 2012 at 08:11:42PM +0000, Richard Purdie wrote:
>> On Tue, 2012-11-27 at 16:41 +0100, Martin Jansa wrote:
>>> Hi,
>>>
>>> pulseaudio has
>>> RDEPENDS_pulseaudio-module-console-kit =+ "consolekit"
>>>
>>> and pulseaudio-module-console-kit is dynamic package
>>> PACKAGES_DYNAMIC += "^pulseaudio-lib.* ^pulseaudio-module.* ^libpulse-lib.* ^libpulse-module.* "
>>>
>>> If you have image where consolekit is pulled to image only by
>>> pulseaudio-module-console-kit (e.g. through pulseaudio-server).
>>> Then consolekit is not built before image do_rootfs is executed and do_rootfs fails.
>>>
>>> Easy way to reproduce this is to build e.g. core-image-minimal with
>>> pulseaudio-module-console-kit or pulseaudio-server added to IMAGE_INSTALL.
>>> Will fail with:
>>>    * satisfy_dependencies_for: Cannot satisfy the following dependencies for pulseaudio-server:
>>>    *    consolekit *
>>>    * opkg_install_cmd: Cannot install package pulseaudio-server.
>>>
>>>
>>> Not sure what's proper fix, bitbake probably just checks that right provider for
>>> pulseaudio-module-console-kit is pulseaudio because of PACKAGES_DYNAMIC, but does not check
>>> RDEPENDS_pulseaudio-module-console-kit after that.
>>>
>>> We can add consolekit to build time deps like it was before, but that's just
>>> work around and not correct fix.
>>>
>>> Also filled as
>>> https://bugzilla.yoctoproject.org/show_bug.cgi?id=3498
>>
>> Well, you can't have this both ways :)
>
> IMHO Only one way is correct and that would be enough :).
>
>> Bitbake doesn't know which modules this package will produce since its
>> using PACKAGES_DYNAMIC. It does its best effort to try and find DEPENDS
>> but it can't take the regexps and come up with
>> "pulseaudio-module-console-kit", hence it doesn't see the RDEPENDS.
>> There isn't any generic way we can teach it to do that either. If it
>> did, it would simply always build consolekit which you say you don't
>> want so its not relevant anyway.
>>
>> So basically, you need to decide whether you want consolekit enabled or
>> not and build accordingly, there is nothing you can do within bitbake to
>> "mind read" what the image is going to want...

For the resolver, it has to use the RPROVIDES, PACKAGES and PACKAGES_DYNAMIC...

> No, you know that you will need pulseaudio-module-console-kit because
> pulseaudio-server RDEPENDs on it (not on any pulseaudio-module-* but
> pulseaudio-module-console-kit exactly). So it's not really mind reading.

But after the recipe has been built, the required item from PACKAGES_DYNAMIC 
should now be in PACKAGES... and if it doesn't end up in the PACKAGES list, it 
would be a good idea to at a minimum trigger a warning...  The catch is, is 
there any way to tell if something from PACKAGES_DYNAMIC was used..

--Mark

> If it's not possible with current code-base then we should document it
> and add some work around in pulseaudio (I'm fine with building
> consolekit even when it's not used later).
>
> Cheers,
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




  reply	other threads:[~2012-11-27 21:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-27 15:41 RDEPENDS of packages created by PACKAGES_DYNAMIC not built before image rootfs Martin Jansa
2012-11-27 17:08 ` Otavio Salvador
2012-11-27 20:11 ` Richard Purdie
2012-11-27 20:23   ` Martin Jansa
2012-11-27 21:07     ` Mark Hatle [this message]
2012-11-28  5:26       ` Richard Purdie
2012-11-28 16:24         ` Mark Hatle
2012-11-28  5:35     ` 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=50B52B94.6020700@windriver.com \
    --to=mark.hatle@windriver.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.