diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2013-08-10 17:19:30 -0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-08-13 23:06:03 +0100 |
commit | 9bb0b1c28578128a861dccf053ed611cd1c4b8bb (patch) | |
tree | 29a6628697071a7724ebd2bdef049ff3afb194b4 /meta/classes/blacklist.bbclass | |
parent | 3aabe00df69f1a2aa7eff97e042ed0ce15613f0f (diff) | |
download | poky-9bb0b1c28578128a861dccf053ed611cd1c4b8bb.tar.gz |
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 <otavio@ossystems.com.br>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 | ||