From 9bda79af100293ea3cb986dd501e0be028f2f04c Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Mon, 19 Feb 2018 16:30:21 -0600 Subject: icecc.bbclass: Add environment version Adds a version to the environment which can be used to invalidate any previous environments on the remote compile nodes Signed-off-by: Joshua Watt Signed-off-by: Ross Burton --- meta/classes/icecc.bbclass | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'meta/classes/icecc.bbclass') diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 2bf6cdb003..bfab61dfa3 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -34,6 +34,15 @@ BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_ ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env" +# This version can be incremented when changes are made to the environment that +# invalidate the version on the compile nodes. Changing it will cause a new +# environment to be created. +# +# A useful thing to do for testing Icecream changes locally is to add a +# subversion in local.conf: +# ICECC_ENV_VERSION_append = "-my-ver-1" +ICECC_ENV_VERSION = "1" + # Default to disabling the caret workaround, If set to "1" in local.conf, icecc # will locally recompile any files that have warnings, which can adversely # affect performance. @@ -203,7 +212,11 @@ def icecc_version(bb, d): import socket ice_dir = icecc_dir(bb, d) - tar_file = os.path.join(ice_dir, archive_name + "-@VERSION@-" + socket.gethostname() + '.tar.gz') + tar_file = os.path.join(ice_dir, "{archive}-{version}-@VERSION@-{hostname}.tar.gz".format( + archive=archive_name, + version=d.getVar('ICECC_ENV_VERSION', True), + hostname=socket.gethostname() + )) return tar_file -- cgit 1.2.3-korg