[OE-core] [PATCH v2 1/1] siteinfo.bbclass: Port over oe.dev logic for site files
Enrico Scholz
enrico.scholz at sigma-chemnitz.de
Mon Jul 25 09:57:35 UTC 2011
Tom Rini <tom_rini-nmGgyN9QBj3QT0dZR+AlfA at public.gmane.org> writes:
> +python () {
> + sitedata = set(siteinfo_data(d))
> + if "endian-little" in sitedata:
> + d.setVar("SITEINFO_ENDIANESS", "le")
> + elif "endian-big" in sitedata:
> + d.setVar("SITEINFO_ENDIANESS", "be")
Assigning SITEINFO_ENDIANESS in this way seems to break build of cross
packages (binutils, gcc). E.g. for xscale (--> armv5te), these packages
will be build for armv5teb. This happens because tune-xscale.inc uses an
(unsafe)
| BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
statement. As there seems that something wents wrong when setting
SITEINFO_ENDIANESS in an anonymous python function, 'armv5teb' will be
assumed.
Using a more safe construct like
| BASE_PACKAGE_ARCH = "${@{'le' : 'armv5te', 'be' : 'armv5teb'}[ \
| bb.data.getVar('SITEINFO_ENDIANESS', d, 1)]}"
reveals that SITEINFO_ENDIANESS is undefined when expression is evaluated.
I am using bitbake master (5c8eeefc79455f058dda8f04cf4c12dc5418e00f).
Enrico
More information about the Openembedded-core
mailing list