[OE-core] RDEPENDS of packages created by PACKAGES_DYNAMIC not built before image rootfs

Richard Purdie richard.purdie at linuxfoundation.org
Tue Nov 27 20:11:42 UTC 2012


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 :)

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

Cheers,

Richard






More information about the Openembedded-core mailing list