[oe] task-base dependencies and missing logging of failed providers

Leon Woestenberg leon.woestenberg at gmail.com
Fri May 4 16:19:58 UTC 2007


Hello,

just wanted to get this down for those not having followed the
discussion on IRC (and just for the record, not that the ideas are
still fresh).

My idea about a minimal image that OE should support (Goal: OE must be
scalable) is a linux kernel with a single init application
(helloworld).

Today on IRC we discussed two issues with BB/OE, indirectly blocking
the ability to build a minimal image using task-base, especially for
new users.

(1) task-base always wants *all* targets in task-* to be buildable,
regardless whether they are installed or not.

Example:

Take angstrom, strip {MACHINE,DISTRO}_FEATURES such that
COMBINED_FEATURES="ext2" or something really basic.
Set USE_NLS="no"

When now building angstrom-minimal-image, task-base wants bluetooth to
be buildable, thus bluez-utils, thus dbus, cups, glib-2.0, etc. etc.
Because glib-2.0 requires USE_NLS="yes", the image build fails with "a
no providers for" message.

[10:34]	<v8jlene>	likewise: Yeah, that task-base one's a bit annoying.
I only had about 400 recipes symlinked in, now I have them all just to
make task-base happy. And as you say it's building lots of stuff that
you don't use.

Workarounds:
- USE_NLS_glib-2.0="yes" (yes, at least makes image buildable, IFF the
other deps are met, everything is still built)

Suggested fixes:
- split task-base into seperate *.bb would work (koen, hrw), but this
is not the proper solution (RP, koen)
- do not use debian.bbclass (tried, but does not work for me)
- ...

(2) It's very hard to track down and I'm not alone:

[10:29]	<v8jlene>	likewise: Heh, I had that issue yesterday when
trying my uclibc builds with 1.8.2 ;) The error bitbake showed was
about bootstrap-image was unavailable (due to task-base pulling in
cups which pulled in dbus which pulled in glib-2.0). Took ages to
figure it all out...

New users won't find this, as bitbake -D -D -D -v does not provide this info.

2) bitbake will NOT report the above dependency
logging of failed providers

However, this one is hard to fix:

[10:31]	<RP>	likewise: There is a bitbake bug already open about the
logging of failed providers
[10:31]	<RP>	Its not as simple as it sounds though


Reproduce

taking the Ångström distro as a base, I would like to strip it down a
bit. I stripped {MACHINE,DISTRO}_FEATURES such that:

COMBINED_FEATURES="ext2"
DISTRO_EXTRA_RDEPENDS="update-modules module-init-tools
modutils-initscripts sysvinit initscripts sysvinit-pidof netbase
dropbear ipkg ipkg-collateral util-linux-mount util-linux-umount"

As none of the selected package need NLS, I have disabled it.

USE_NLS = "no"

bitbake angstrom-minimal image
or
bitbake bootstrap-image


Regards,
-- 
Leon

The persons and animals named in this email are based on true
characters in real life.




More information about the Openembedded-devel mailing list