From 9bb0b1c28578128a861dccf053ed611cd1c4b8bb Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Sat, 10 Aug 2013 17:19:30 -0300 Subject: blacklist.bbclass: Avoid blacklist specific handle in base.bbclass base.bbclass had code which handled the PNBLACKLIST in case of multilib use. This is better to be done in the blacklist.bbclass so it has all logic in a single place. (From OE-Core rev: 04f0fefeccc1e7e3af8a1f741350492ae3f171fc) Signed-off-by: Otavio Salvador Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/blacklist.bbclass | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'meta/classes/blacklist.bbclass') diff --git a/meta/classes/blacklist.bbclass b/meta/classes/blacklist.bbclass index 75abd99c29e..a0141a82c09 100644 --- a/meta/classes/blacklist.bbclass +++ b/meta/classes/blacklist.bbclass @@ -12,6 +12,31 @@ # PNBLACKLIST[pn] = "message" # +# Cope with PNBLACKLIST flags for multilib case +addhandler blacklist_multilib_eventhandler +blacklist_multilib_eventhandler[eventmask] = "bb.event.ConfigParsed" +python blacklist_multilib_eventhandler() { + multilibs = e.data.getVar('MULTILIBS', True) + if not multilibs: + return + + # this block has been copied from base.bbclass so keep it in sync + prefixes = [] + for ext in multilibs.split(): + eext = ext.split(':') + if len(eext) > 1 and eext[0] == 'multilib': + prefixes.append(eext[1]) + + blacklists = e.data.getVarFlags('PNBLACKLIST') or {} + for pkg, reason in blacklists.items(): + if pkg.endswith(("-native", "-crosssdk")) or pkg.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in pkg: + continue + for p in prefixes: + newpkg = p + "-" + pkg + if not e.data.getVarFlag('PNBLACKLIST', newpkg, True): + e.data.setVarFlag('PNBLACKLIST', newpkg, reason) +} + python () { blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN', True), True) -- cgit 1.2.3-korg