From 5a5319d2e6f41bb0e290d6a1decbd996e9572690 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 18 Jan 2014 15:01:54 +0100 Subject: icecc: use exact match in blacklists, re-start with empty system_package_blacklist * unify debug messages a bit * old implementation allowed partial match in blacklist, it's safer to explicitly list exact matches * I was able to build all entries from system_package_blacklist with icecc enabled, lets assume that they were already resolved by newer versions (we've fixed a lot of parallel issues in recipes which were detected even without icecc and this list is very old). Signed-off-by: Martin Jansa Signed-off-by: Richard Purdie --- meta/classes/icecc.bbclass | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'meta') diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 549bd69eda..5c9e66c95e 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -95,36 +95,39 @@ def use_icc(bb,d): if icc_is_allarch(bb, d): return "no" - package_tmp = d.expand('${PN}') + pn = d.getVar('PN', True) - system_class_blacklist = [ "none" ] + system_class_blacklist = [] user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() package_class_blacklist = system_class_blacklist + user_class_blacklist for black in package_class_blacklist: if bb.data.inherits_class(black, d): - #bb.note(package_tmp, ' class ', black, ' found in blacklist, disable icecc') + bb.debug(1, "%s: class %s found in blacklist, disable icecc" % (pn, black)) return "no" - #"system" package blacklist contains a list of packages that can not distribute compile tasks - #for one reason or the other - system_package_blacklist = [ "uclibc", "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ] + # "system" recipe blacklist contains a list of packages that can not distribute compile tasks + # for one reason or the other + # this is the old list (which doesn't seem to be valid anymore, because I was able to build + # all these with icecc enabled) + # system_package_blacklist = [ "uclibc", "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ] + # when adding new entry, please document why (how it failed) so that we can re-evaluate it later + # e.g. when there is new version + system_package_blacklist = [] user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split() user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() package_blacklist = system_package_blacklist + user_package_blacklist - for black in package_blacklist: - if black in package_tmp: - #bb.note(package_tmp, ' found in blacklist, disable icecc') - return "no" + if pn in package_blacklist: + bb.debug(1, "%s: found in blacklist, disable icecc" % pn) + return "no" - for white in user_package_whitelist: - if white in package_tmp: - bb.debug(1, package_tmp, " ", d.expand('${PV})'), " found in whitelist, enable icecc") - return "yes" + if pn in user_package_whitelist: + bb.debug(1, "%s: found in whitelist, enable icecc" % pn) + return "yes" if d.getVar('PARALLEL_MAKE') == "": - bb.debug(1, package_tmp, " ", d.expand('${PV}'), " has empty PARALLEL_MAKE, disable icecc") + bb.debug(1, "%s: has empty PARALLEL_MAKE, disable icecc" % pn) return "no" return "yes" -- cgit v1.2.3