Bug 6408 - EXCLUDE_FROM_WORLD_pn-BPN doesn't work when multilib
Summary: EXCLUDE_FROM_WORLD_pn-BPN doesn't work when multilib
Status: RESOLVED WORKSFORME
Alias: None
Product: BitBake
Classification: Build System, Metadata & Runtime
Component: bitbake (show other bugs)
Version: 1.7
Hardware: x86 Multiple
: Low normal
Target Milestone: 1.7
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2014-06-06 09:27 UTC by Robert Yang
Modified: 2014-09-24 17:31 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Yang 2014-06-06 09:27:37 UTC
For example if we add these to local.conf:

MACHINE ?= "qemux86-64"

require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

EXCLUDE_FROM_WORLD_pn-bluez4 = "1" 

And remove EXCLUDE_FROM_WORLD = "1" from meta/recipes-connectivity/bluez/bluez4.inc, then:

bitbake -g world

We can see that both bluez4 and lib32-bluez4 are in pn-buildlist, and they will get built, the bluez4 should not since we have set EXCLUDE_FROM_WORLD_pn-bluez4 = "1".

Note, This works well for package-index.
Comment 1 Richard Purdie 2014-09-24 17:31:38 UTC
I looked into this and I think that things actually work as they should. Setting "EXCLUDE_FROM_WORLD" does not guarantee that something will not end up in a world build, it just means that when building the list of recipes to build as part of world, these items are excluded. So for example if you do EXCLUDE_FROM_WORLD = "a" and b has DEPENDS = "a" and b is in world, a will get built.

So something likely depends on bluez4 and that is why you see it being built.

To test this, I tried something which things don't depend on, I picked bind.

EXCLUDE_FROM_WORLD_pn-bind = "1"

removed bind from "bitbake world -g" and then:

EXCLUDE_FROM_WORLD_pn-lib32-bind = "1"

removed lib32-bind too, just as expected. Please reopen with more specific details if you still believe there is an issue here.