diff options
Diffstat (limited to 'meta/classes/blacklist.bbclass')
-rw-r--r-- | meta/classes/blacklist.bbclass | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/classes/blacklist.bbclass b/meta/classes/blacklist.bbclass index 75abd99c29..a0141a82c0 100644 --- a/meta/classes/blacklist.bbclass +++ b/meta/classes/blacklist.bbclass | |||
@@ -12,6 +12,31 @@ | |||
12 | # PNBLACKLIST[pn] = "message" | 12 | # PNBLACKLIST[pn] = "message" |
13 | # | 13 | # |
14 | 14 | ||
15 | # Cope with PNBLACKLIST flags for multilib case | ||
16 | addhandler blacklist_multilib_eventhandler | ||
17 | blacklist_multilib_eventhandler[eventmask] = "bb.event.ConfigParsed" | ||
18 | python blacklist_multilib_eventhandler() { | ||
19 | multilibs = e.data.getVar('MULTILIBS', True) | ||
20 | if not multilibs: | ||
21 | return | ||
22 | |||
23 | # this block has been copied from base.bbclass so keep it in sync | ||
24 | prefixes = [] | ||
25 | for ext in multilibs.split(): | ||
26 | eext = ext.split(':') | ||
27 | if len(eext) > 1 and eext[0] == 'multilib': | ||
28 | prefixes.append(eext[1]) | ||
29 | |||
30 | blacklists = e.data.getVarFlags('PNBLACKLIST') or {} | ||
31 | for pkg, reason in blacklists.items(): | ||
32 | if pkg.endswith(("-native", "-crosssdk")) or pkg.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in pkg: | ||
33 | continue | ||
34 | for p in prefixes: | ||
35 | newpkg = p + "-" + pkg | ||
36 | if not e.data.getVarFlag('PNBLACKLIST', newpkg, True): | ||
37 | e.data.setVarFlag('PNBLACKLIST', newpkg, reason) | ||
38 | } | ||
39 | |||
15 | python () { | 40 | python () { |
16 | blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN', True), True) | 41 | blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN', True), True) |
17 | 42 | ||