From 1863f695a1411e95e7e547a3eb3e7ef6604a93bf Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Wed, 9 Jan 2019 09:28:18 -0600 Subject: classes/icecc: Check blacklist for BPN If a given PN is listed in the icecream blacklist, there is a very good chance that the native, nativesdk, and multilib variants should also be skipped. Check the blacklist entries against BPN to cover them. [YOCTO #13128] Signed-off-by: Joshua Watt Signed-off-by: Ross Burton --- meta/classes/icecc.bbclass | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 7d94525d31..ed3f0d36e1 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -130,6 +130,13 @@ def use_icecc(bb,d): return "no" pn = d.getVar('PN') + bpn = d.getVar('BPN') + + # Blacklist/whitelist checks are made against BPN, because there is a good + # chance that if icecc should be skipped for a recipe, it should be skipped + # for all the variants of that recipe. PN is still checked in case a user + # specified a more specific recipe. + check_pn = set([pn, bpn]) system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split() user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() @@ -145,11 +152,11 @@ def use_icecc(bb,d): user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() package_blacklist = system_package_blacklist + user_package_blacklist - if pn in package_blacklist: + if check_pn & set(package_blacklist): bb.debug(1, "%s: found in blacklist, disable icecc" % pn) return "no" - if pn in user_package_whitelist: + if check_pn & set(user_package_whitelist): bb.debug(1, "%s: found in whitelist, enable icecc" % pn) return "yes" -- cgit 1.2.3-korg