summaryrefslogtreecommitdiffstats
path: root/meta/classes/icecc.bbclass
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2019-01-09 09:28:18 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-01-11 10:39:09 +0000
commitf5cc622aabb2211e84baa9bb59971f815b2a3e16 (patch)
tree5e3b36f8ef8afb97dd30512f5513f98245421a1e /meta/classes/icecc.bbclass
parent22797e4a43a0a4d77928d1ad5d72c61ed0e7df6e (diff)
downloadpoky-f5cc622aabb2211e84baa9bb59971f815b2a3e16.tar.gz
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] (From OE-Core rev: 1863f695a1411e95e7e547a3eb3e7ef6604a93bf) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/icecc.bbclass')
-rw-r--r--meta/classes/icecc.bbclass11
1 files changed, 9 insertions, 2 deletions
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):
130 return "no" 130 return "no"
131 131
132 pn = d.getVar('PN') 132 pn = d.getVar('PN')
133 bpn = d.getVar('BPN')
134
135 # Blacklist/whitelist checks are made against BPN, because there is a good
136 # chance that if icecc should be skipped for a recipe, it should be skipped
137 # for all the variants of that recipe. PN is still checked in case a user
138 # specified a more specific recipe.
139 check_pn = set([pn, bpn])
133 140
134 system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split() 141 system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split()
135 user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() 142 user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split()
@@ -145,11 +152,11 @@ def use_icecc(bb,d):
145 user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() 152 user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split()
146 package_blacklist = system_package_blacklist + user_package_blacklist 153 package_blacklist = system_package_blacklist + user_package_blacklist
147 154
148 if pn in package_blacklist: 155 if check_pn & set(package_blacklist):
149 bb.debug(1, "%s: found in blacklist, disable icecc" % pn) 156 bb.debug(1, "%s: found in blacklist, disable icecc" % pn)
150 return "no" 157 return "no"
151 158
152 if pn in user_package_whitelist: 159 if check_pn & set(user_package_whitelist):
153 bb.debug(1, "%s: found in whitelist, enable icecc" % pn) 160 bb.debug(1, "%s: found in whitelist, enable icecc" % pn)
154 return "yes" 161 return "yes"
155 162