All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vignesh Rajendran (RBEI/ECF3)" <Vignesh.Rajendran@in.bosch.com>
To: Khem Raj <raj.khem@gmail.com>,
	Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages
Date: Tue, 19 Jun 2018 04:54:05 +0000	[thread overview]
Message-ID: <c26a71ac52144bf1afc9a0c7f42f923a@in.bosch.com> (raw)
In-Reply-To: <CAMKF1sqTp4y-a=cxdhy-DCax+V2h=S+QRY419qYiMgeBNuGtwg@mail.gmail.com>

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@gmail.com] 
Sent: Monday, June 18, 2018 11:13 PM
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran@in.bosch.com>; Patches and discussions about the oe-core layer <openembedded-core@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@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@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@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

  reply	other threads:[~2018-06-19  4:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-17  5:50 [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages Vignesh Rajendran
2018-05-17  5:55 ` Vignesh Rajendran (RBEI/ECF3)
2018-05-20 22:26 ` Paul Eggleton
2018-05-21  4:50   ` Vignesh Rajendran (RBEI/ECF3)
2018-06-18  6:38   ` Vignesh Rajendran (RBEI/ECF3)
2018-06-18 17:43   ` Khem Raj
2018-06-19  4:54     ` Vignesh Rajendran (RBEI/ECF3) [this message]
2018-07-06  4:29     ` Vignesh Rajendran (RBEI/ECF3)
2018-07-06  4:50       ` Khem Raj
2018-07-12  7:00         ` Vignesh Rajendran (RBEI/ECF3)
2018-07-23 10:02         ` Vignesh Rajendran (RBEI/ECF3)
2018-07-30  4:46         ` Vignesh Rajendran (RBEI/ECF3)
2018-08-10  5:36         ` Vignesh Rajendran (RBEI/ECF3)
  -- strict thread matches above, loose matches on Subject: below --
2018-05-07  5:50 Vignesh Rajendran
2018-05-16 12:11 ` Vignesh Rajendran (RBEI/ECF3)
2018-05-16 12:53   ` Alexander Kanavin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c26a71ac52144bf1afc9a0c7f42f923a@in.bosch.com \
    --to=vignesh.rajendran@in.bosch.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=paul.eggleton@linux.intel.com \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.