[OE-core] [PATCH] bitbake.conf: Exclude MACHINE from OVERRIDES variable dependency list

Richard Purdie richard.purdie at linuxfoundation.org
Mon Oct 10 20:41:03 UTC 2011


On Mon, 2011-10-10 at 17:53 +0200, Koen Kooi wrote:
> Op 10 okt. 2011, om 17:40 heeft Richard Purdie het volgende geschreven:
> 
> > On Mon, 2011-10-10 at 17:02 +0200, Koen Kooi wrote:
> >> Op 10 okt. 2011, om 16:06 heeft Richard Purdie het volgende geschreven:
> >> 
> >>> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> >>> ---
> >>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> >>> index a1420cf..11d76b8 100644
> >>> --- a/meta/conf/bitbake.conf
> >>> +++ b/meta/conf/bitbake.conf
> >>> @@ -669,6 +669,7 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}"
> >>> OVERRIDES = "${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:forcevariable"
> >>> DISTROOVERRIDES ?= "${DISTRO}"
> >>> MACHINEOVERRIDES ?= "${MACHINE}"
> >>> +OVERRIDES[vardepsexclude] = "MACHINE"
> >>> 
> >>> CPU_FEATURES ?= ""
> >>> CPU_FEATURES_arm ?= "vfp"
> >> 
> >> 
> >> MACHINE=omap4430-panda bitbake bash -c cleansstate
> >> MACHINE=beagleboard bitbake bash
> >> MACHINE=omap4430-panda bitbake bash
> >> 
> >> It fully built bash in both case, the diffsig sleuthing I was able to do:
> >> 
> >> koen at dominion:/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/stamps/armv7a-angstrom-linux-gnueabi$ ls | grep bash | grep sigdata | sort
> >> bash-4.1-r2.do_cleansstate.sigdata.dade34525ff3d7567b7e86b24a36307b
> >> bash-4.1-r2.do_fetch.sigdata.15f6bc3de53f1de78303e73688c4f340
> >> bash-4.1-r2.do_unpack.sigdata.980bf1d8267fee1ac36b68c96c4f268c
> >> bash-4.1-r2.do_patch.sigdata.0185f3c332733ffa162bc38244f2f0b4
> >> bash-4.1-r2.do_configure.sigdata.4527bef6d2e22f73a51628c2ac5e7d4e
> >> bash-4.1-r2.do_compile.sigdata.d5cb0399ec5f76911c78cfc99a05663a
> >> bash-4.1-r2.do_install.sigdata.b1781f7a0718ba9922a970820d565455
> >> bash-4.1-r2.do_package.sigdata.2a38d9a1a086e31e620321c1b346514f
> >> bash-4.1-r2.do_package.sigdata.4c4f326e3ba2029d207aca186c9ea332
> >> bash-4.1-r2.do_package_write_ipk.sigdata.191dbf64100c3b552a86c361a07e134f
> >> bash-4.1-r2.do_populate_sysroot.sigdata.1643e8bfc8905ff3f269b8ca40d16d17
> >> bash-4.1-r2.do_rm_work_all.sigdata.25cbc1786f8d193c1569e77497d098af
> >> bash-4.1-r2.do_rm_work_all.sigdata.d019b1e392601856aa407615da0c54af
> >> bash-4.1-r2.do_rm_work.sigdata.1453d491285d51b9a88a913bcc6cc72c
> >> bash-4.1-r2.do_rm_work.sigdata.b8f0f9e26355b721638b66069ad83e4e
> >> bash-4.1-r2.do_populate_lic.sigdata.c7c785ae2f366e5a0d8bea4e144e43d0
> >> 
> >> koen at dominion:/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/stamps/armv7a-angstrom-linux-gnueabi$ bitbake-diffsigs bash-4.1-r2.do_package.sigdata.2a38d9a1a086e31e620321c1b346514f bash-4.1-r2.do_package.sigdata.4c4f326e3ba2029d207aca186c9ea332
> >> basehash changed from da302dbd386f214d39fbd6fb01267c8d to 1b439cf1d8c12894e96e96b299a27c12
> >> Variable MACHINE value changed from beagleboard to omap4430-panda
> > 
> > So this tells us what changed but it doesn't tell us why its being
> > depended upon. Could you share the output of:
> > 
> > /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/stamps/armv7a-angstrom-linux-gnueabi$ bitbake-diffsigs bash-4.1-r2.do_package.sigdata.2a38d9a1a086e31e620321c1b346514f 
> > 
> > please so we can see why bash is depending on MACHINE?
> 
> More than 2500 lines:
> 
> http://dominion.thruhere.net/koen/angstrom/diffsigs.txt
> 
> Some grepping shows:
> 
> List of dependencies for variable OVERRIDES is set(['OVERRIDE_INTERWORK', 'OVERRIDE_THUMB', 'DISTROOVERRIDES', 'TARGET_ARCH', 'BUILD_OS', 'PN', 'TARGET_OS', 'MACHINEOVERRIDES'])
> List of dependencies for variable MACHINE is set([])
> List of dependencies for variable MACHINEOVERRIDES is set(['MACHINE', 'SOC_FAMILY', 'FEED_ARCH'])
> Variable OVERRIDES value is ${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:forcevariable${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", ":thumb-interwork", "", d)}:libc-glibc:libc-glibc
> Variable MACHINE value is omap4430-panda
> Variable MACHINEOVERRIDES value is ${MACHINE}:${@bb.data.getVar('FEED_ARCH', d,1).replace('all','noarch')}:${SOC_FAMILY}
> 
> So does MACHINEOVERRIDES need to get whitelisted as well?

I suspect so, yes. My patch shouldn't have really worked at all :/.

Cheers,

Richard





More information about the Openembedded-core mailing list