summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2014-01-18 15:01:54 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-21 10:20:12 +0000
commitea94e0fdee2b3494e8ed6526afe940bea9f57be3 (patch)
tree38f7c29b1e3be6653fd2078f7ecd7731fba699b5
parent033671d82ad04235b104a7f6fb95a18447f771eb (diff)
downloadpoky-ea94e0fdee2b3494e8ed6526afe940bea9f57be3.tar.gz
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). (From OE-Core rev: 5a5319d2e6f41bb0e290d6a1decbd996e9572690) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/icecc.bbclass33
1 files changed, 18 insertions, 15 deletions
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):
95 if icc_is_allarch(bb, d): 95 if icc_is_allarch(bb, d):
96 return "no" 96 return "no"
97 97
98 package_tmp = d.expand('${PN}') 98 pn = d.getVar('PN', True)
99 99
100 system_class_blacklist = [ "none" ] 100 system_class_blacklist = []
101 user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() 101 user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split()
102 package_class_blacklist = system_class_blacklist + user_class_blacklist 102 package_class_blacklist = system_class_blacklist + user_class_blacklist
103 103
104 for black in package_class_blacklist: 104 for black in package_class_blacklist:
105 if bb.data.inherits_class(black, d): 105 if bb.data.inherits_class(black, d):
106 #bb.note(package_tmp, ' class ', black, ' found in blacklist, disable icecc') 106 bb.debug(1, "%s: class %s found in blacklist, disable icecc" % (pn, black))
107 return "no" 107 return "no"
108 108
109 #"system" package blacklist contains a list of packages that can not distribute compile tasks 109 # "system" recipe blacklist contains a list of packages that can not distribute compile tasks
110 #for one reason or the other 110 # for one reason or the other
111 system_package_blacklist = [ "uclibc", "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ] 111 # this is the old list (which doesn't seem to be valid anymore, because I was able to build
112 # all these with icecc enabled)
113 # system_package_blacklist = [ "uclibc", "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ]
114 # when adding new entry, please document why (how it failed) so that we can re-evaluate it later
115 # e.g. when there is new version
116 system_package_blacklist = []
112 user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split() 117 user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split()
113 user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() 118 user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split()
114 package_blacklist = system_package_blacklist + user_package_blacklist 119 package_blacklist = system_package_blacklist + user_package_blacklist
115 120
116 for black in package_blacklist: 121 if pn in package_blacklist:
117 if black in package_tmp: 122 bb.debug(1, "%s: found in blacklist, disable icecc" % pn)
118 #bb.note(package_tmp, ' found in blacklist, disable icecc') 123 return "no"
119 return "no"
120 124
121 for white in user_package_whitelist: 125 if pn in user_package_whitelist:
122 if white in package_tmp: 126 bb.debug(1, "%s: found in whitelist, enable icecc" % pn)
123 bb.debug(1, package_tmp, " ", d.expand('${PV})'), " found in whitelist, enable icecc") 127 return "yes"
124 return "yes"
125 128
126 if d.getVar('PARALLEL_MAKE') == "": 129 if d.getVar('PARALLEL_MAKE') == "":
127 bb.debug(1, package_tmp, " ", d.expand('${PV}'), " has empty PARALLEL_MAKE, disable icecc") 130 bb.debug(1, "%s: has empty PARALLEL_MAKE, disable icecc" % pn)
128 return "no" 131 return "no"
129 132
130 return "yes" 133 return "yes"