Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
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, 1 Feb 2012 10:56:27 -0500	[thread overview]
Message-ID: <4F2960AB.9060409@windriver.com> (raw)
In-Reply-To: <1328111578.13744.91.camel@ted>

On 12-02-01 10:52 AM, Richard Purdie wrote:
> 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:

I disliked it as well, but was stumped for something better at the
time :)

>
> +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.

Yep. Works for me. I'll do those fixups here.

Cheers,

Bruce

>
> Cheers,
>
> Richard
>




      reply	other threads:[~2012-02-01 16:04 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
2012-02-01 15:56     ` Bruce Ashfield [this message]

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=4F2960AB.9060409@windriver.com \
    --to=bruce.ashfield@windriver.com \
    --cc=chris_larson@mentor.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox