On Mon, 2018-04-23 at 13:51 -0400, Bruce Ashfield wrote: > On 2018-04-23 4:13 AM, Hongxu Jia wrote: > > > > Since perf modify kernel source which shared by multiple > > recipes, it probably caused kernel-devsrc compile failure > > at world build. > > ... > > > > > > 0 blocks > > > cpio: ./tools/perf/arch/arm/util/sedr7ORqk: Cannot stat: > > No such file or directory > > > > > > 0 blocks > > ... > > cpio tried to find a file at ${S}/tools/perf and failed > > if the input list is not valid. > > > > Make a copy of kernel shared source directory into a perf workdir > > could fix the issue. > > > > Drop `Fix for rebuilding' which is obsolete > > > > Signed-off-by: Hongxu Jia <hongxu....@windriver.com> > > --- > > meta/recipes-kernel/perf/perf.bb | 11 ++++++----- > > 1 file changed, 6 insertions(+), 5 deletions(-) > > > > diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes- > > kernel/perf/perf.bb > > index 872b5f0..8b40806 100644 > > --- a/meta/recipes-kernel/perf/perf.bb > > +++ b/meta/recipes-kernel/perf/perf.bb > > @@ -61,7 +61,7 @@ export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OW > > N_DIR}/perl/${@get_perl_version > > > > inherit kernelsrc > > > > -B = "${WORKDIR}/${BPN}-${PV}" > > +S = "${WORKDIR}/${BP}" > > SPDX_S = "${S}/tools/perf" > > > > # The LDFLAGS is required or some old kernels fails due missing > > @@ -119,11 +119,12 @@ do_install() { > > fi > > } > > > > -do_configure_prepend () { > > - # Fix for rebuilding > > - rm -rf ${B}/ > > - mkdir -p ${B}/ > > +do_configure[prefuncs] += "git_clone_kernel_source" > > +git_clone_kernel_source () { > > + git clone --single-branch ${STAGING_KERNEL_DIR} ${S} > I probably would have used "cp -a -r", or similar. Since it > is possible that a kernel may not actually be a git repo (linux-yocto > always is, but that is just one data point). > > Also, did you try just copying the tools SRC dir + whatever > infrastructure is needed to build ? That will save us a LOT > of i/o when moving the source around for perf to build. > > But outside of those details/mechanics, the approach is sound.
Our "copy hardlink tree" function, whatever its called is sometimes of use in these cases... I think I'm the current owner of a bug in this area which I've sadly not gotten to yet :(. Also, have we considered the alternative - not copying tools/perf for the kernel devsrc? Cheers, Richard -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core