[oe] [RFC] policy about nonworking recipes

Koen Kooi k.kooi at student.utwente.nl
Thu May 21 21:46:05 UTC 2009


On 21-05-09 23:12, Rolf Leggewie wrote:
>  The semantics of COMPATIBLE_MACHINE being "no compatible machines 
known to
> the last committer".

COMPATIBLE_MACHINE has a well defined meaning, which doesn't lend it for 
this kind of pendantry. COMPATIBLE_MACHINE is meant to prevent people 
building a recipe whose packages have no chance of *running* on a 
different machine (kernels being the most obvious examples, hardware 
daemons less so). It has no place in tagging build time brokenness.

> If it turns out to be a host-dependent issue,
> instead, then the next commit should replace the COMPATIBLE_MACHINE line
> with one listing only the COMPATIBLE_HOSTs.

So let's say you want to build pulseaudio, which requires a recent 
autoconf. And your distro locks that down to an ancient version. You get 
a weird error message that doesn't indicate the problem (most likely a 
broken makefile). So you try all machines present in OE and none works 
and then add COMPATIBLE_MACHINE = "", a while after that someone builds 
it for another distro, that does have the correct autoconf version 
(unbeknowst to the user) and replaces it with COMPATIBLE_HOST (which is 
really COMPATIBLE_ARCH, so not for 'host' issues, but target issues).
Anyone looking at the history of the recipe will draw the wrong 
conclusions, since you decided to make it a COMPATIBLE_MACHINE thing, 
instead of using EXCLUDE_FROM_WORLD (which has a meaning to bitbake/OE) 
or BROKEN = 1 (which has no meaning to bitbake/OE, only to OE devs).

But more importantly, a lot of people (and companies) are using OE in 
ways we don't know about, so deleting things, or preventing them being 
parsed is stabbing them in the eye.

If the recipes offend you, you can bbmask them out in local.conf or in 
your distro.conf, but stop making life harder for the rest of us, the 
time needed to undelete or un-COMPATIBLE_MACHINE recipes isn't free. 
Time spent hearing people bitch about deleted recipes isn't free either. 
OE isn't wikipedia were deleting a cool way to boost your streetcred.

And I think that ultimately it's a distro choice which targets should be 
buildable, if a distro says that 'world' isn't supported, so be it.





More information about the Openembedded-devel mailing list