On 07/31/2018 05:21 AM, Jaewon Lee wrote: > When using a recipe space kernel-meta, scc files are added through > SRC_URI, but they may include corresponding kernel fragments that are > not necessarily in SRC_URI. > > For bitbake, this is not a problem because the kernel-yocto class adds > the path where the .scc file was found to includes which consequentially > makes the .cfg file available to the kernel build. > > However, when using devtool, only files specified in SRC_URI are copied > to oe-local-files in devtool's workspace. So if the cfg file is not in > SRC_URI, it won't be copied, causing a kernel build failure when trying > to find it. > > This fix parses local .scc files in SRC_URI, copies the corresponding .cfg > file to devtool's workdir, and also adds it to local_files so it is > available when doing a devtool build for the kernel. > > [YOCTO #12858] > > Signed-off-by: Jaewon Lee <jaewon....@xilinx.com> > Signed-off-by: Alejandro Enedino Hernandez Samaniego <aleja...@xilinx.com> > --- > meta/classes/devtool-source.bbclass | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/meta/classes/devtool-source.bbclass > b/meta/classes/devtool-source.bbclass > index 56882a4..c70fea2 100644 > --- a/meta/classes/devtool-source.bbclass > +++ b/meta/classes/devtool-source.bbclass > @@ -90,11 +90,23 @@ python devtool_post_unpack() { > fname in files]) > return ret > > + is_kernel_yocto = bb.data.inherits_class('kernel-yocto', d) > # Move local source files into separate subdir > recipe_patches = [os.path.basename(patch) for patch in > oe.recipeutils.get_recipe_patches(d)] > local_files = oe.recipeutils.get_recipe_local_files(d) > > + if is_kernel_yocto: > + for key in local_files.copy(): > + if key.endswith('scc'): > + sccfile = open(local_files[key], 'r') > + for l in sccfile: > + line = l.split() > + if line and line[0] == 'kconf' and line[-1].endswith('.cfg'): > + local_files[line[-1]] = > os.path.join(os.path.dirname(local_files[key]), line[-1]) > + shutil.copy2(os.path.join(os.path.dirname(local_files[key]), > line[-1]), workdir) > + sccfile.close() > +
Would the patches included in these .scc files also need to be handled in the same way? Would this also work if there are other scc files included in a scc file? Thanks, Anuj -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core