[oe-commits] [openembedded-core] 02/13: kernel-yocto: allow kernel-meta repositories to be patched

git at git.openembedded.org git at git.openembedded.org
Wed Mar 6 16:34:40 UTC 2019


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 92f565c3cc7166b9cd9648b9706aa02a09d82fc2
Author: Bruce Ashfield <bruce.ashfield at gmail.com>
AuthorDate: Fri Mar 1 00:24:37 2019 -0500

    kernel-yocto: allow kernel-meta repositories to be patched
    
    For testing purposes, it is often easier to patch a fragment
    in a kernel-meta repository versus needing to make a copy or
    modify the source repository.
    
    We can allow this sort of patching when a patchdir of kernel-meta
    is passed (to indicate the nested kernel-meta repository).
    
    Also note that we must patch the meta data before they are
    processed/gathered, since migrated copies to the kernel source
    directory will be used later.
    
    Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
---
 meta/classes/kernel-yocto.bbclass | 29 +++++++++++++++++++++++++----
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 2f556ca..bd7a957 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -5,12 +5,21 @@ PATCH_GIT_USER_NAME ?= "OpenEmbedded"
 
 # returns local (absolute) path names for all valid patches in the
 # src_uri
-def find_patches(d):
+def find_patches(d,subdir):
     patches = src_patches(d)
     patch_list=[]
     for p in patches:
-        _, _, local, _, _, _ = bb.fetch.decodeurl(p)
-        patch_list.append(local)
+        _, _, local, _, _, parm = bb.fetch.decodeurl(p)
+        # if patchdir has been passed, we won't be able to apply it so skip
+        # the patch for now, and special processing happens later
+        patchdir = ''
+        if "patchdir" in parm:
+            patchdir = parm["patchdir"]
+        if patchdir:
+            if subdir == patchdir:
+                patch_list.append(local)
+        else:
+            patch_list.append(local)
 
     return patch_list
 
@@ -119,8 +128,20 @@ do_kernel_metadata() {
 		fi
 	fi
 
+	# was anyone trying to patch the kernel meta data ?, we need to do
+	# this here, since the scc commands migrate the .cfg fragments to the
+	# kernel source tree, where they'll be used later.
+	check_git_config
+	patches="${@" ".join(find_patches(d,'kernel-meta'))}"
+	for p in $patches; do
+	    (
+		cd ${WORKDIR}/kernel-meta
+		git am -s $p
+	    )
+	done
+
 	sccs_from_src_uri="${@" ".join(find_sccs(d))}"
-	patches="${@" ".join(find_patches(d))}"
+	patches="${@" ".join(find_patches(d,''))}"
 	feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}"
 
 	# a quick check to make sure we don't have duplicate defconfigs

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list