[oe] [Bitbake-dev] [PATCH] Allow % as wildcard in the end of PREFERRED_VERSION_pkg

Richard Purdie rpurdie at rpsys.net
Thu Jan 21 10:34:13 UTC 2010


On Mon, 2009-09-14 at 00:43 +0200, Martin Jansa wrote:
> ---
>  lib/bb/providers.py |   13 ++++++++++++-
>  1 files changed, 12 insertions(+), 1 deletions(-)
> 
> diff --git a/lib/bb/providers.py b/lib/bb/providers.py
> index 8970fb3..feaee52 100644
> --- a/lib/bb/providers.py
> +++ b/lib/bb/providers.py
> @@ -63,7 +63,18 @@ def sortPriorities(pn, dataCache, pkg_pn = None):
>  
>      return tmp_pn
>  
> +def isPreferredVersion(pe, pv, pr, preferred_e, preferred_v, preferred_r):
> +    """
> +    Check if the version pe,pv,pr is the preferred one.
> +    If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%' in the end,
> +    """
>  
> +    if (pv == preferred_v or (preferred_v != None and preferred_v.endswith('%') and pv.startswith(preferred_v[:len(preferred_v)-1]))):
> +        if (pr == preferred_r or preferred_r == None):
> +            if (pe == preferred_e or preferred_e == None):
> +                return true
> +    return false
> +    
>  def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
>      """
>      Find the first provider in pkg_pn with a PREFERRED_VERSION set.
> @@ -96,7 +107,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
>          for file_set in pkg_pn:
>              for f in file_set:
>                  pe,pv,pr = dataCache.pkg_pepvpr[f]
> -                if preferred_v == pv and (preferred_r == pr or preferred_r == None) and (preferred_e == pe or preferred_e == None):
> +                if isPreferredVersion(pe,pv,pr,preferred_e,preferred_v,preferred_r):
>                      preferred_file = f
>                      preferred_ver = (pe, pv, pr)
>                      break

This has been applied to bitbake master, thanks!

Richard





More information about the Openembedded-devel mailing list