diff options
| author | Joshua Watt <jpewhacker@gmail.com> | 2019-01-09 09:28:18 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-01-11 10:39:09 +0000 |
| commit | f5cc622aabb2211e84baa9bb59971f815b2a3e16 (patch) | |
| tree | 5e3b36f8ef8afb97dd30512f5513f98245421a1e | |
| parent | 22797e4a43a0a4d77928d1ad5d72c61ed0e7df6e (diff) | |
| download | poky-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>
| -rw-r--r-- | meta/classes/icecc.bbclass | 11 |
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 | ||
