summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2012-02-01 13:55:41 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-03 16:51:30 +0000
commit41e92923a0b2fe047ecaa9f9ffb564d6069f784f (patch)
tree2b06b03a4c2d41593872cc66a343b8cbfe1b5985
parent7b355ad09a622cfe57c66674ed1affd61c4d872e (diff)
downloadopenembedded-core-41e92923a0b2fe047ecaa9f9ffb564d6069f784f.tar.gz
openembedded-core-41e92923a0b2fe047ecaa9f9ffb564d6069f784f.tar.bz2
openembedded-core-41e92923a0b2fe047ecaa9f9ffb564d6069f784f.zip
classes/patch: optionally return non-patch sources
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 source items on the SRC_URI to locate out of tree kernel features. This change keeps the default behaviour of returning patches, but adds the ability to request that non-patch results be returned. Additional filtering within the non-patch category, is left up to the caller of the routine. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/patch.bbclass9
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 1ea4bc5e02..31db9e372a 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, all = False ):
workdir = d.getVar('WORKDIR', True)
fetch = bb.fetch2.Fetch([], d)
patches = []
+ sources = []
for url in fetch.urls:
local = patch_path(url, fetch, workdir)
if not local:
+ if all:
+ local = fetch.localpath(url)
+ sources.append(local)
continue
urldata = fetch.ud[url]
@@ -43,6 +47,9 @@ def src_patches(d):
localurl = bb.encodeurl(('file', '', local, '', '', patchparm))
patches.append(localurl)
+ if all:
+ return sources
+
return patches
def patch_path(url, fetch, workdir):