imx-gpu-sdk: Don't use BB_NUMBER_THREADS in do_compile

Problem reported by Rasmus Villemoes <rasmus.villemoes@prevas.dk>:

```
The imx-gpu-sdk recipe in the meta-imx layer references
${BB_NUMBER_THREADS} in its do_compile function. Changing
BB_NUMBER_THREADS between bitbake invocations leads to the well-known

  When reparsing ...meta-imx/meta-sdk/recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_5.8.0.bb:do_compile, the basehash value changed from 69be88cf220840ff2203e11cfe65681880b0bf9b88db67d50c1ba772b883bd18 to 5e6d5029fac8d7856ada4c2eca359568298f82cdb64567d7dd4deda503d9f83a. The metadata is not deterministic and this needs to be fixed.

This happens because BB_NUMBER_THREADS is in BB_HASHCONFIG_IGNORE_VARS,
so changing it does not cause the recipe to be reparsed, but it is not
included in BB_HASHEXCLUDE_COMMON and thus BB_BASEHASH_IGNORE_VARS.
```

Fix as suggested by Richard Purdie <richard.purdie@linuxfoundation.org>:

```
Technically imx-gpu-sdk is incorrect. BB_NUMBER_THREADS is the number of tasks
bitbake should run. PARALLEL_MAKE is what is used for parallelism in do_compile.

I appreciate that has -j in but you can use: ${@oe.utils.parallel_make(d)} to
obtain the value that recipe needs.
```

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
This commit is contained in:
Tom Hochstein 2022-10-14 20:55:26 -05:00 committed by Otavio Salvador
parent 23b411cf79
commit 2153fbd749

View File

@ -71,7 +71,7 @@ do_compile () {
export FSL_PLATFORM_NAME=Yocto
export ROOTFS=${STAGING_DIR_HOST}
. ./prepare.sh
FslBuild.py -vvvvv -t sdk --UseFeatures [${FEATURES}] --UseExtensions [${EXTENSIONS}] --Variants [WindowSystem=${BACKEND}] --BuildThreads ${BB_NUMBER_THREADS} -c install --CMakeInstallPrefix ${S}
FslBuild.py -vvvvv -t sdk --UseFeatures [${FEATURES}] --UseExtensions [${EXTENSIONS}] --Variants [WindowSystem=${BACKEND}] --BuildThreads ${@oe.utils.parallel_make(d)} -c install --CMakeInstallPrefix ${S}
}
REMOVALS = " \