diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2012-02-01 09:25:03 -0500 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2012-02-07 14:37:14 -0800 |
commit | 3e2ce87566124db8c78472f9a4f00ab26410f213 (patch) | |
tree | 3cf6788904c60520c4e1aec933a1b4fca5ab76ed /meta | |
parent | 00c2e80e8cae2db6e2c34b1291c615f7f146b070 (diff) | |
download | openembedded-core-3e2ce87566124db8c78472f9a4f00ab26410f213.tar.gz openembedded-core-3e2ce87566124db8c78472f9a4f00ab26410f213.tar.bz2 openembedded-core-3e2ce87566124db8c78472f9a4f00ab26410f213.tar.xz openembedded-core-3e2ce87566124db8c78472f9a4f00ab26410f213.zip |
linux-yocto: locate and use out of tree features specified on the SRC_URI
In a similar manner to calling the patch.bbclass to locate patches that
were listed on the SRC_URI, it is also useful to query about 'other' items
that are on the SRC_URI. In the case of linux-yocto, it allows us to
know about kernel features that were specific on the URI and then apply
them to the current tree.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/kernel-yocto.bbclass | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 7fdefcf22..3130bf451 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -10,6 +10,16 @@ def find_patches(d): return patch_list +def find_sccs(d): + sources=src_patches(d, True) + sources_list=[] + for s in sources: + base, ext = os.path.splitext(os.path.basename(s)) + if ext and ext in ('.scc'): + sources_list.append(s) + + return sources_list + do_patch() { cd ${S} if [ -f ${WORKDIR}/defconfig ]; then @@ -42,6 +52,7 @@ do_patch() { fi patches="${@" ".join(find_patches(d))}" + sccs="${@" ".join(find_sccs(d))}" # This loops through all patches, and looks for directories that do # not already have feature descriptions. If a directory doesn't have @@ -81,6 +92,16 @@ do_patch() { fi done + # look for any found scc files, and ensure they are added to the list + # of directories passsed to updateme + for s in ${sccs}; do + sdir=`dirname ${s}` + echo ${patch_dirs} | grep -q ${sdir} + if [ $? -ne 0 ]; then + patch_dirs="${patch_dirs} ${sdir}" + fi + done + # go through the patch directories and look for any scc feature files # that were constructed above. If one is found, rename it to ".scc" so # the kernel patching can see it. |