All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: chris_larson@mentor.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] classes/patch: return "other" elements found on the SRC_URI
Date: Wed, 01 Feb 2012 15:52:58 +0000	[thread overview]
Message-ID: <1328111578.13744.91.camel@ted> (raw)
In-Reply-To: <1328107366-22541-2-git-send-email-bruce.ashfield@windriver.com>

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.ashfield@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




  reply	other threads:[~2012-02-01 16:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-01 14:42 [RFC PATCH 0/1] classes/patch: return "other" elements found on the SRC_URI Bruce Ashfield
2012-02-01 14:42 ` [PATCH] " Bruce Ashfield
2012-02-01 15:52   ` Richard Purdie [this message]
2012-02-01 15:56     ` Bruce Ashfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1328111578.13744.91.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=bruce.ashfield@windriver.com \
    --cc=chris_larson@mentor.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.