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

Vignesh Rajendran (RBEI/ECF3) Vignesh.Rajendran at in.bosch.com
Mon Jul 30 04:46:33 UTC 2018


Hello Khem,

Any feedback ?

Mit freundlichen Grüßen / Best regards

Rajendran Vignesh
RBEI/ECF33

Tel. +91 422 67-65103

From: Vignesh Rajendran (RBEI/ECF3)
Sent: Monday, July 23, 2018 3:33 PM
To: 'Khem Raj' <raj.khem at gmail.com>
Cc: 'Patches and discussions about the oe-core layer' <openembedded-core at lists.openembedded.org>; 'Paul Eggleton' <paul.eggleton at linux.intel.com>
Subject: RE: [OE-core] [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages

Hello Khem, Paul,

Gentle reminder for any feedback..

Mit freundlichen Grüßen / Best regards

Rajendran Vignesh
RBEI/ECF33

Tel. +91 422 67-65103
From: Vignesh Rajendran (RBEI/ECF3)
Sent: Thursday, July 12, 2018 12:30 PM
To: 'Khem Raj' <raj.khem at gmail.com<mailto:raj.khem at gmail.com>>
Cc: Patches and discussions about the oe-core layer <openembedded-core at lists.openembedded.org<mailto:openembedded-core at lists.openembedded.org>>; Paul Eggleton <paul.eggleton at linux.intel.com<mailto:paul.eggleton at linux.intel.com>>
Subject: RE: [OE-core] [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages

Hello Khem, Paul,

The approach suggested by is not possible due to the package.bbclass approach.
https://github.com/openembedded/openembedded-core/blob/f9324af88a99eca28b160fa31aa4516fd397e44b/meta/classes/package.bbclass#L449

the sources are explicitly copied from workparentdir path
cmd = processdebugsrc % (sourcefile, workbasedir, localsrc_prefix, workparentdir, dvar, debugsrcdir)

This approach won’t work for externalsrc.

Mit freundlichen Grüßen / Best regards

Rajendran Vignesh
RBEI/ECF33

Tel. +91 422 67-65103
From: Khem Raj [mailto:raj.khem at gmail.com]
Sent: Friday, July 06, 2018 10:21 AM
To: Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran at in.bosch.com<mailto:Vignesh.Rajendran at in.bosch.com>>
Cc: Patches and discussions about the oe-core layer <openembedded-core at lists.openembedded.org<mailto:openembedded-core at lists.openembedded.org>>; Paul Eggleton <paul.eggleton at linux.intel.com<mailto:paul.eggleton at linux.intel.com>>
Subject: Re: [OE-core] [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages

Yes, you can try that


On Thu, Jul 5, 2018 at 9:29 PM Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran at in.bosch.com<mailto: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<mailto:raj.khem at gmail.com>>; Paul Eggleton <paul.eggleton at linux.intel.com<mailto:paul.eggleton at linux.intel.com>>
Cc: Patches and discussions about the oe-core layer <openembedded-core at lists.openembedded.org<mailto: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<mailto:raj.khem at gmail.com>]
Sent: Monday, June 18, 2018 11:13 PM
To: Paul Eggleton <paul.eggleton at linux.intel.com<mailto:paul.eggleton at linux.intel.com>>
Cc: Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran at in.bosch.com<mailto:Vignesh.Rajendran at in.bosch.com>>; Patches and discussions about the oe-core layer <openembedded-core at lists.openembedded.org<mailto: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<mailto: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<mailto: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<mailto: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/20180730/a84c60b2/attachment-0002.html>


More information about the Openembedded-core mailing list