[oe] [PATCH] classes/base.bbclass: add INCOMPATIBLE_MACHINE

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Wed Jul 7 18:49:06 UTC 2010


2010/7/7 Frans Meulenbroeks <fransmeulenbroeks at gmail.com>:
> added INCOMPATIBLE_MACHINE
> we have COMPATIBLE_MACHINE but that does not allow to say that
> a package is supported by all except a certain machine.
> a regexp like "(?!arch)"
> This mechanism can be used to exclude certain machines.
> Idea is that in binutils and gcc you can use this to specify that
> a certain version does not support a certain machine

actually what I wanted to say in the commit message is that a regexp
like (?!arch) does not work.
\b(?!arch) or ^(?!arch) didn't work either and consulting #python did
also not give a solution to
exclude a string.

If I get enough acks for this I will commit after improving the commit message
>
> Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
> ---
>  classes/base.bbclass |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/classes/base.bbclass b/classes/base.bbclass
> index 2da0b7a..3174469 100644
> --- a/classes/base.bbclass
> +++ b/classes/base.bbclass
> @@ -380,6 +380,13 @@ python () {
>             if this_machine and not re.match(need_machine, this_machine):
>                 raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
>
> +        need_machine = bb.data.getVar('INCOMPATIBLE_MACHINE', d, 1)
> +        if need_machine:
> +            import re
> +            this_machine = bb.data.getVar('MACHINE', d, 1)
> +            if this_machine and re.match(need_machine, this_machine):
> +                raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
> +
>     pn = bb.data.getVar('PN', d, 1)
>
>     # OBSOLETE in bitbake 1.7.4
> --
> 1.6.4.2
>
>




More information about the Openembedded-devel mailing list