From e16134e3bb52c2fe5b754a3e36536935b476aaf2 Mon Sep 17 00:00:00 2001 From: André Draszik Date: Tue, 3 Mar 2020 16:05:11 +0000 Subject: bitbake.conf: more deterministic xz compression (threads) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit xz archives can be non-deterministic / non-reproducible: a) archives are created differently in single- vs multi-threaded modes b) xz will scale down the compression level so as to be try to work within any memory limit given to it when operating in single-threaded mode This means that due to bitbake's default of using as many threads as there are cores in the system, files compressed with xz will be different if built on a multi-core system compared to single-core systems. They will also potentially be different if built on single-core systems with different amounts of physical memory, due to bitbake's default of limiting xz's memory consumption. Force multi-threaded operation by default, even on single-core systems, so as to ensure archives are created in the same way in all cases. (From OE-Core rev: d96aa8594c8d7531da34645cadbac4f7549d8ae6) Signed-off-by: André Draszik Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta') diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index e201b671bb..131ba296d3 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -795,7 +795,7 @@ BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}" PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}" # Default parallelism and resource usage for xz -XZ_DEFAULTS ?= "--memlimit=50% --threads=${@oe.utils.cpu_count()}" +XZ_DEFAULTS ?= "--memlimit=50% --threads=${@oe.utils.cpu_count(at_least=2)}" ################################################################## # Magic Cookie for SANITY CHECK -- cgit v1.2.3-54-g00ecf