diff options
-rw-r--r-- | meta/classes/kernel-yocto.bbclass | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 2f556ca03b..bd7a957583 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass | |||
@@ -5,12 +5,21 @@ PATCH_GIT_USER_NAME ?= "OpenEmbedded" | |||
5 | 5 | ||
6 | # returns local (absolute) path names for all valid patches in the | 6 | # returns local (absolute) path names for all valid patches in the |
7 | # src_uri | 7 | # src_uri |
8 | def find_patches(d): | 8 | def find_patches(d,subdir): |
9 | patches = src_patches(d) | 9 | patches = src_patches(d) |
10 | patch_list=[] | 10 | patch_list=[] |
11 | for p in patches: | 11 | for p in patches: |
12 | _, _, local, _, _, _ = bb.fetch.decodeurl(p) | 12 | _, _, local, _, _, parm = bb.fetch.decodeurl(p) |
13 | patch_list.append(local) | 13 | # if patchdir has been passed, we won't be able to apply it so skip |
14 | # the patch for now, and special processing happens later | ||
15 | patchdir = '' | ||
16 | if "patchdir" in parm: | ||
17 | patchdir = parm["patchdir"] | ||
18 | if patchdir: | ||
19 | if subdir == patchdir: | ||
20 | patch_list.append(local) | ||
21 | else: | ||
22 | patch_list.append(local) | ||
14 | 23 | ||
15 | return patch_list | 24 | return patch_list |
16 | 25 | ||
@@ -119,8 +128,20 @@ do_kernel_metadata() { | |||
119 | fi | 128 | fi |
120 | fi | 129 | fi |
121 | 130 | ||
131 | # was anyone trying to patch the kernel meta data ?, we need to do | ||
132 | # this here, since the scc commands migrate the .cfg fragments to the | ||
133 | # kernel source tree, where they'll be used later. | ||
134 | check_git_config | ||
135 | patches="${@" ".join(find_patches(d,'kernel-meta'))}" | ||
136 | for p in $patches; do | ||
137 | ( | ||
138 | cd ${WORKDIR}/kernel-meta | ||
139 | git am -s $p | ||
140 | ) | ||
141 | done | ||
142 | |||
122 | sccs_from_src_uri="${@" ".join(find_sccs(d))}" | 143 | sccs_from_src_uri="${@" ".join(find_sccs(d))}" |
123 | patches="${@" ".join(find_patches(d))}" | 144 | patches="${@" ".join(find_patches(d,''))}" |
124 | feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}" | 145 | feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}" |
125 | 146 | ||
126 | # a quick check to make sure we don't have duplicate defconfigs | 147 | # a quick check to make sure we don't have duplicate defconfigs |