diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2014-01-18 15:01:54 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-01-21 10:20:12 +0000 |
commit | ea94e0fdee2b3494e8ed6526afe940bea9f57be3 (patch) | |
tree | 38f7c29b1e3be6653fd2078f7ecd7731fba699b5 | |
parent | 033671d82ad04235b104a7f6fb95a18447f771eb (diff) | |
download | poky-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.bbclass | 33 |
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" |