aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2018-11-20 14:04:15 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-21 11:48:18 +0000
commitf5be9f6e9180ace3362bba52c7ced3b039441d7d (patch)
tree84986ca3ccbaea42f9ab1c918b7f494fec4f5709
parent7709b2551c07cfad591bb37817474fd106e7c2f1 (diff)
downloadopenembedded-core-contrib-f5be9f6e9180ace3362bba52c7ced3b039441d7d.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). Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/icecc.bbclass31
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_
ICECC_CARET_WORKAROUND ICECC_CFLAGS ICECC_ENV_VERSION \
ICECC_DEBUG ICECC_LOGFILE ICECC_REPEAT_RATE ICECC_PREFERRED_HOST \
ICECC_CLANG_REMOTE_CPP ICECC_IGNORE_UNVERIFIED ICECC_TEST_SOCKET \
- ICECC_ENV_DEBUG \
+ ICECC_ENV_DEBUG ICECC_SYSTEM_PACKAGE_BL ICECC_SYSTEM_CLASS_BL \
"
ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env"
@@ -61,6 +61,23 @@ CXXFLAGS += "${ICECC_CFLAGS}"
# Debug flags when generating environments
ICECC_ENV_DEBUG ??= ""
+# "system" recipe blacklist contains a list of packages that can not distribute
+# compile tasks for one reason or the other. 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
+#
+# libgcc-initial - fails with CPP sanity check error if host sysroot contains
+# cross gcc built for another target tune/variant
+ICECC_SYSTEM_PACKAGE_BL += "\
+ libgcc-initial \
+ "
+
+# "system" classes that should be blacklisted. When adding new entry, please
+# document why (how it failed) so that we can re-evaluate it later
+#
+ICECC_SYSTEM_CLASS_BL += "\
+ "
+
def icecc_dep_prepend(d):
# INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
# we need that built is the responsibility of the patch function / class, not
@@ -134,7 +151,7 @@ def use_icecc(bb,d):
pn = d.getVar('PN')
- system_class_blacklist = []
+ system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split()
user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split()
package_class_blacklist = system_class_blacklist + user_class_blacklist
@@ -143,15 +160,7 @@ def use_icecc(bb,d):
bb.debug(1, "%s: class %s found in blacklist, disable icecc" % (pn, black))
return "no"
- # "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 = [ "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
- # building libgcc-initial with icecc fails with CPP sanity check error if host sysroot contains cross gcc built for another target tune/variant
- system_package_blacklist = ["libgcc-initial"]
+ system_package_blacklist = (d.getVar('ICECC_SYSTEM_PACKAGE_BL') or "").split()
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