[OE-core] [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages

Khem Raj raj.khem at gmail.com
Fri Jul 6 04:50:31 UTC 2018


Yes, you can try that


On Thu, Jul 5, 2018 at 9:29 PM Vignesh Rajendran (RBEI/ECF3) <
Vignesh.Rajendran at in.bosch.com> wrote:

> Hello Khem,
>
> Can you clarify your idea and my question?
>
> Mit freundlichen Grüßen / Best regards
>
> Rajendran Vignesh
> RBEI/ECF33
>
> Tel. +91 422 67-65103
>
>
> -----Original Message-----
> From: Vignesh Rajendran (RBEI/ECF3)
> Sent: Tuesday, June 19, 2018 10:24 AM
> To: 'Khem Raj' <raj.khem at gmail.com>; Paul Eggleton <
> paul.eggleton at linux.intel.com>
> Cc: Patches and discussions about the oe-core layer <
> openembedded-core at lists.openembedded.org>
> Subject: RE: [OE-core] [meta-oe][PATCH] package.bbclass: provide debug
> sources in externalsrc -dbg packages
>
> Hello Khem,
>
> >> perhaps setting DEBUG_PREFIX_MAP relative to S instead of WORKDIR is
> >> going to take care of this
>
> Do you mean to change it at bitbake.conf ?
>
> Mit freundlichen Grüßen / Best regards
>
> Rajendran Vignesh
> RBEI/ECF33
>
> Tel. +91 422 67-65103
>
>
> -----Original Message-----
> From: Khem Raj [mailto:raj.khem at gmail.com]
> Sent: Monday, June 18, 2018 11:13 PM
> To: Paul Eggleton <paul.eggleton at linux.intel.com>
> Cc: Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran at in.bosch.com>;
> Patches and discussions about the oe-core layer <
> openembedded-core at lists.openembedded.org>
> Subject: Re: [OE-core] [meta-oe][PATCH] package.bbclass: provide debug
> sources in externalsrc -dbg packages
>
> On Sun, May 20, 2018 at 3:26 PM Paul Eggleton
> <paul.eggleton at linux.intel.com> wrote:
> >
> > Hi Vignesh,
> >
> > Thanks for the patch, a question below.
> >
> > On Thursday, 17 May 2018 5:50:00 PM NZST Vignesh Rajendran wrote:
> > > The recipes which are using externalsrc method doesn't contain the
> > > debug sources in their -dbg packages.
> > >
> > > Add a handling in copydebugsources function to copy the debugsources
> for
> > > externalsrc -dbg packages.
> > >
> > > Signed-off-by: Vignesh Rajendran <vignesh.rajendran at in.bosch.com>
> > > ---
> > >  meta/classes/externalsrc.bbclass |  3 +++
> > >  meta/classes/package.bbclass     | 12 ++++++++++--
> > >  2 files changed, 13 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/meta/classes/externalsrc.bbclass
> b/meta/classes/externalsrc.bbclass
> > > index c9f5cf7..135670d 100644
> > > --- a/meta/classes/externalsrc.bbclass
> > > +++ b/meta/classes/externalsrc.bbclass
> > > @@ -129,6 +129,9 @@ python () {
> > >              d.setVar('CONFIGURESTAMPFILE', configstamp)
> > >              d.setVar('STAMP',
> '${STAMPS_DIR}/work-shared/${PN}/${EXTENDPE}${PV}-${PR}')
> > >              d.setVar('STAMPCLEAN',
> '${STAMPS_DIR}/work-shared/${PN}/*-*')
> > > +
> > > +     # set DEBUG_PREFIX_MAP to external source path
> > > +     d.appendVar("DEBUG_PREFIX_MAP",
> "-fdebug-prefix-map=${EXTERNALSRC}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}")
> > >  }
> > >
> > >  python externalsrc_configure_prefunc() {
> > > diff --git a/meta/classes/package.bbclass
> b/meta/classes/package.bbclass
> > > index edeffa9..f071a2e 100644
> > > --- a/meta/classes/package.bbclass
> > > +++ b/meta/classes/package.bbclass
> > > @@ -420,6 +420,7 @@ def copydebugsources(debugsrcdir, d):
> > >          workdir = d.getVar("WORKDIR")
> > >          workparentdir = os.path.dirname(os.path.dirname(workdir))
> > >          workbasedir = os.path.basename(os.path.dirname(workdir)) +
> "/" + os.path.basename(workdir)
> > > +        externalsrc = d.getVar('EXTERNALSRC', True)
> > >
> > >          # If build path exists in sourcefile, it means toolchain did
> not use
> > >          # -fdebug-prefix-map to compile
> > > @@ -444,9 +445,16 @@ def copydebugsources(debugsrcdir, d):
> > >          processdebugsrc += "fgrep -zw '%s' | "
> > >          # Remove prefix in the source paths
> > >          processdebugsrc += "sed 's#%s##g' | "
> > > -        processdebugsrc += "(cd '%s' ; cpio -pd0mlL
> --no-preserve-owner '%s%s' 2>/dev/null)"
> > > +        # handle external sources to provide sources in -dbg packages
> > > +        if externalsrc:
> > > +            localsrc_prefix = "/usr/src/debug/"
> > > +            processdebugsrc += "sed 's#%s/##g' | "
> > > +            processdebugsrc += "(cd '%s' ; cpio -pd0mlL
> --no-preserve-owner '%s%s/%s' 2>/dev/null)"
> > > +            cmd = processdebugsrc % (sourcefile, workbasedir,
> localsrc_prefix, workbasedir, externalsrc, dvar, debugsrcdir, workbasedir)
> > > +        else:
> > > +            processdebugsrc += "(cd '%s' ; cpio -pd0mlL
> --no-preserve-owner '%s%s' 2>/dev/null)"
> > > +            cmd = processdebugsrc % (sourcefile, workbasedir,
> localsrc_prefix, workparentdir, dvar, debugsrcdir)
> > >
> > > -        cmd = processdebugsrc % (sourcefile, workbasedir,
> localsrc_prefix, workparentdir, dvar, debugsrcdir)
> > >          (retval, output) = oe.utils.getstatusoutput(cmd)
> > >          # Can "fail" if internal headers/transient sources are
> attempted
> > >          #if retval:
> > >
> >
> > Is there a way we can fix this without adding a reference to externalsrc
> in
> > package.bbclass?
> >
>
> perhaps setting DEBUG_PREFIX_MAP relative to S instead of WORKDIR is
> going to take care of this
>
> > Cheers,
> > Paul
> >
> > --
> >
> > Paul Eggleton
> > Intel Open Source Technology Centre
> >
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180705/2d11f12e/attachment-0002.html>


More information about the Openembedded-core mailing list