From 1da297d35411e923ca3b6accdd37074f5182f019 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Tue, 20 Nov 2018 14:04:15 -0600 Subject: 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 Signed-off-by: Richard Purdie --- meta/classes/icecc.bbclass | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'meta') 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 -- cgit v1.2.3-54-g00ecf