diff options
author | Joshua Watt <jpewhacker@gmail.com> | 2018-11-20 14:04:15 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-11-21 11:54:14 +0000 |
commit | 1da297d35411e923ca3b6accdd37074f5182f019 (patch) | |
tree | 42040fd83614812cbddac8951fd39497589a9c6a | |
parent | 5ce58802e03fa8c32212d85f99d57aeabf8d3b53 (diff) | |
download | poky-1da297d35411e923ca3b6accdd37074f5182f019.tar.gz |
meta/icecc.bbclass: Move system blacklist to variables
The system blacklists are moved to variables which are ignore when
hashing. This prevents changes to the blacklists from causing all
taskhashes to change (and thus rebuild).
(From OE-Core rev: f5be9f6e9180ace3362bba52c7ced3b039441d7d)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/icecc.bbclass | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index b5a8457747..9ccd42d784 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass | |||
@@ -33,7 +33,7 @@ BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_ | |||
33 | ICECC_CARET_WORKAROUND ICECC_CFLAGS ICECC_ENV_VERSION \ | 33 | ICECC_CARET_WORKAROUND ICECC_CFLAGS ICECC_ENV_VERSION \ |
34 | ICECC_DEBUG ICECC_LOGFILE ICECC_REPEAT_RATE ICECC_PREFERRED_HOST \ | 34 | ICECC_DEBUG ICECC_LOGFILE ICECC_REPEAT_RATE ICECC_PREFERRED_HOST \ |
35 | ICECC_CLANG_REMOTE_CPP ICECC_IGNORE_UNVERIFIED ICECC_TEST_SOCKET \ | 35 | ICECC_CLANG_REMOTE_CPP ICECC_IGNORE_UNVERIFIED ICECC_TEST_SOCKET \ |
36 | ICECC_ENV_DEBUG \ | 36 | ICECC_ENV_DEBUG ICECC_SYSTEM_PACKAGE_BL ICECC_SYSTEM_CLASS_BL \ |
37 | " | 37 | " |
38 | 38 | ||
39 | ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env" | 39 | ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env" |
@@ -61,6 +61,23 @@ CXXFLAGS += "${ICECC_CFLAGS}" | |||
61 | # Debug flags when generating environments | 61 | # Debug flags when generating environments |
62 | ICECC_ENV_DEBUG ??= "" | 62 | ICECC_ENV_DEBUG ??= "" |
63 | 63 | ||
64 | # "system" recipe blacklist contains a list of packages that can not distribute | ||
65 | # compile tasks for one reason or the other. When adding new entry, please | ||
66 | # document why (how it failed) so that we can re-evaluate it later e.g. when | ||
67 | # there is new version | ||
68 | # | ||
69 | # libgcc-initial - fails with CPP sanity check error if host sysroot contains | ||
70 | # cross gcc built for another target tune/variant | ||
71 | ICECC_SYSTEM_PACKAGE_BL += "\ | ||
72 | libgcc-initial \ | ||
73 | " | ||
74 | |||
75 | # "system" classes that should be blacklisted. When adding new entry, please | ||
76 | # document why (how it failed) so that we can re-evaluate it later | ||
77 | # | ||
78 | ICECC_SYSTEM_CLASS_BL += "\ | ||
79 | " | ||
80 | |||
64 | def icecc_dep_prepend(d): | 81 | def icecc_dep_prepend(d): |
65 | # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not | 82 | # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not |
66 | # we need that built is the responsibility of the patch function / class, not | 83 | # we need that built is the responsibility of the patch function / class, not |
@@ -134,7 +151,7 @@ def use_icecc(bb,d): | |||
134 | 151 | ||
135 | pn = d.getVar('PN') | 152 | pn = d.getVar('PN') |
136 | 153 | ||
137 | system_class_blacklist = [] | 154 | system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split() |
138 | user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() | 155 | user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() |
139 | package_class_blacklist = system_class_blacklist + user_class_blacklist | 156 | package_class_blacklist = system_class_blacklist + user_class_blacklist |
140 | 157 | ||
@@ -143,15 +160,7 @@ def use_icecc(bb,d): | |||
143 | bb.debug(1, "%s: class %s found in blacklist, disable icecc" % (pn, black)) | 160 | bb.debug(1, "%s: class %s found in blacklist, disable icecc" % (pn, black)) |
144 | return "no" | 161 | return "no" |
145 | 162 | ||
146 | # "system" recipe blacklist contains a list of packages that can not distribute compile tasks | 163 | system_package_blacklist = (d.getVar('ICECC_SYSTEM_PACKAGE_BL') or "").split() |
147 | # for one reason or the other | ||
148 | # this is the old list (which doesn't seem to be valid anymore, because I was able to build | ||
149 | # all these with icecc enabled) | ||
150 | # system_package_blacklist = [ "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ] | ||
151 | # when adding new entry, please document why (how it failed) so that we can re-evaluate it later | ||
152 | # e.g. when there is new version | ||
153 | # building libgcc-initial with icecc fails with CPP sanity check error if host sysroot contains cross gcc built for another target tune/variant | ||
154 | system_package_blacklist = ["libgcc-initial"] | ||
155 | user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split() | 164 | user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split() |
156 | user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() | 165 | user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() |
157 | package_blacklist = system_package_blacklist + user_package_blacklist | 166 | package_blacklist = system_package_blacklist + user_package_blacklist |