Previously, I usually do 'MACHINE=xxx bitbake <pkg>' when doing build test for package upgrades. Now with bitbake-setup, as the toolcfg.conf contains fragements such as: OE_FRAGMENTS += "distro/poky machine/qemux86-64" Using MACHINE=xxx in env does not work anymore. What's worse, even if I put MACHINE = "qemuarm64" in local.conf, it still does take effect. Should we change internal fragement settings to be like "?=" instead of "="?
I submitted a patch: https://lists.openembedded.org/g/bitbake-devel/message/18343
We think the best way to handle this is to error if a fragment is set and there is also a value for the variable already set (from the environment or the conf files). We could recommend the user unset the fragment with: bitbake-config-build disable-fragment
Patch V2: https://lists.openembedded.org/g/bitbake-devel/message/18381
@Alex & @Richard, The above patch has two things that I don't feel good: 1) The env pass-through mechanism is used to avoid 'bitbake-config-build' error out. 2) The '??=' is OK, but '?=' still triggers an error. If you have some suggestion, please let me know.
V3 patchset: https://lists.openembedded.org/g/bitbake-devel/message/18449 https://lists.openembedded.org/g/bitbake-devel/message/18450
Patch V4 (fix an issue with resident bitbake server): https://lists.openembedded.org/g/bitbake-devel/message/18466 https://lists.openembedded.org/g/bitbake-devel/message/18467 https://lists.openembedded.org/g/bitbake-devel/message/18468