On Wed, 2012-02-01 at 09:42 -0500, Bruce Ashfield wrote:
> commit:
> 
>   patch.bbclass: abstract out logic that determines patches to apply
> 
> gives the ability for other clases to emit series files for use outside
> of a build system, or even within the build system. There are sometimes
> elements on the SRC_URI that while not directly applicable to patching,
> can be related to patching the package. For example, the yocto kernel
> class would like to know about these 'other' items on the SRC_URI to
> locate out of tree kernel features.
> 
> This change keeps the default the same, but adds the ability to query
> for anything 'non-patch' that may be on the SRC_URI. Additional filtering
> is left up to the caller of the routine.
> 
> Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com>
> ---
>  meta/classes/patch.bbclass |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
> index 1ea4bc5..d664215 100644
> --- a/meta/classes/patch.bbclass
> +++ b/meta/classes/patch.bbclass
> @@ -7,13 +7,17 @@ PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"
>  
>  inherit terminal
>  
> -def src_patches(d):
> +def src_patches(d, type = "patches"):

Knowing "magic" strings to pass to functions isn't very intuitive. You
could do:

+def src_patches(d, all = False):


>       workdir = d.getVar('WORKDIR', True)
>       fetch = bb.fetch2.Fetch([], d)
>       patches = []
> +     others = []
>       for url in fetch.urls:
>               local = patch_path(url, fetch, workdir)
>               if not local:
> +                     if type == "others":
> +                             local = fetch.localpath(url)
> +                             others.append(local)
>                       continue
>  
>               urldata = fetch.ud[url]
> @@ -43,7 +47,10 @@ def src_patches(d):
>               localurl = bb.encodeurl(('file', '', local, '', '', patchparm))
>               patches.append(localurl)
>  
> -     return patches
> +     if type == "others":
> +             return others
> +     else:
> +             return patches

if all:
    return others
return patches

You might want to call it sources instead of others too.

Cheers,

Richard


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to