[OE-core] a few questions about "COMPATIBLE_MACHINE" variable
Robert P. J. Day
rpjday at crashcourse.ca
Sun Feb 26 11:58:32 UTC 2017
On Sun, 26 Feb 2017, Robert P. J. Day wrote:
... big snip ...
> is there a style guide entry for proper use of COMPATIBLE_MACHINE?
> having the manuals make suggestions that are potentially confusing
> to inexperienced users seems like a bad idea.
for fun, i did a quick grep in the oe-core layer:
meta/conf/documentation.conf:COMPATIBLE_MACHINE[doc] = "A regular expression that resolves to one or more target machines with which a recipe is compatible."
meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb:COMPATIBLE_MACHINE = "(qemux86$)"
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb:COMPATIBLE_MACHINE = "(qemux86$)"
meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
meta/recipes-kernel/linux/linux-yocto_4.4.bb:COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
meta/recipes-kernel/linux/linux-yocto-dev.bb:COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)"
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb:COMPATIBLE_MACHINE = "(qemux86$)"
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
meta/recipes-kernel/linux/linux-dummy.bb:#COMPATIBLE_MACHINE = "your_machine"
meta/recipes-kernel/linux/linux-yocto_4.9.bb:COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
meta/recipes-kernel/linux/linux-yocto_4.1.bb:COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
meta/recipes-kernel/linux/linux-yocto_4.8.bb:COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb:COMPATIBLE_MACHINE = "(qemux86$)"
meta/classes/base.bbclass: need_machine = d.getVar('COMPATIBLE_MACHINE')
meta/classes/base.bbclass: raise bb.parse.SkipPackage("incompatible with machine %s (not in COMPATIBLE_MACHINE)" % d.getVar('MACHINE'))
so as long as i understand correctly the re.match() anchoring, some
of the above assignments can definitely be tightened up with no change
in behaviour, correct? not saying i'm going to run off and submit a
patch for that, since i rather like chris' suggestion that the
matching be tightened up to catch inadvertently sloppy matching, as
long as that doesn't break all kinds of stuff.
thoughts?
rday
p.s. hey, COMPATIBLE_HOST seems to work the same way, so it seems
there would be no value in appending ".*" to the end of any choice so,
for example:
argp-standalone_1.3.bb:COMPATIBLE_HOST = ".*-musl.*"
could be more simply written as:
argp-standalone_1.3.bb:COMPATIBLE_HOST = ".*-musl"
yes?
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
More information about the Openembedded-core
mailing list