diff options
author | Peter Seebach <peter.seebach@windriver.com> | 2012-08-10 17:32:56 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-08-15 14:25:50 +0100 |
commit | 9bc0ca9369d0daee94abf60d3d521cc734c7e8cd (patch) | |
tree | b2f535674fccef7cd33b89e66037935ef4260b3c /meta/classes/base.bbclass | |
parent | f3c93627d4f603f9e4c4491d89eb988aa6241662 (diff) | |
download | openembedded-core-9bc0ca9369d0daee94abf60d3d521cc734c7e8cd.tar.gz openembedded-core-9bc0ca9369d0daee94abf60d3d521cc734c7e8cd.tar.bz2 openembedded-core-9bc0ca9369d0daee94abf60d3d521cc734c7e8cd.zip |
base.bbclass: Expand PNBLACKLIST across multilibs too
The PNBLACKLIST feature does not currently work with multilibs,
because they have different ${PN}. The obvious thing to do is to
do this at the same point that we do the PREFERRED_PROVIDER
and PREFERRED_VERSION fixups. (Making the PNBLACKLIST check
do the for-each-multilib check requires it to do the multilib
list generation repeatedly.)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/base.bbclass')
-rw-r--r-- | meta/classes/base.bbclass | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 192c77761e..840ddbcc93 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -161,7 +161,8 @@ def pkgarch_mapping(d): def preferred_ml_updates(d): # If any PREFERRED_PROVIDER or PREFERRED_VERSIONS are set, - # we need to mirror these variables in the multilib case + # we need to mirror these variables in the multilib case; + # likewise the PNBLACKLIST flags. multilibs = d.getVar('MULTILIBS', True) or "" if not multilibs: return @@ -174,12 +175,19 @@ def preferred_ml_updates(d): versions = [] providers = [] + blacklists = d.getVarFlags('PNBLACKLIST') or [] for v in d.keys(): if v.startswith("PREFERRED_VERSION_"): versions.append(v) if v.startswith("PREFERRED_PROVIDER_"): providers.append(v) + for pkg, reason in blacklists.items(): + for p in prefixes: + newpkg = p + "-" + pkg + if not d.getVarFlag('PNBLACKLIST', newpkg, True): + d.setVarFlag('PNBLACKLIST', newpkg, reason) + for v in versions: val = d.getVar(v, False) pkg = v.replace("PREFERRED_VERSION_", "") |