Hi OE-Core members,

 

As per the wiki notes,  This is a reminder and re-submission again the same patch posted some weeks before.

 

https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded  

If your patch has not had any feedback after a few days it may have been missed or the appropriate reviewers may not currently be around; it is perfectly fine to reply to it yourself with a "ping" / reminder request for feedback. NOTE: patch review for feature / recipe upgrade patches will likely be delayed during a feature freeze because these types of patches aren't merged during this time - you may have to wait until after the freeze is lifted.

 

I have noted that the patch not available in master and may have been missed.

 

Mit freundlichen Grüßen / Best regards

 

Rajendran Vignesh

RBEI/ECF33 

 

Tel. +91 422 67-65103

 

 

 

-----Original Message-----
From: Vignesh Rajendran (RBEI/ECF3)
Sent: Thursday, May 17, 2018 11:20 AM
To: openembedded-core@lists.openembedded.org
Cc: Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran@in.bosch.com>
Subject: [meta-oe][PATCH] package.bbclass: provide debug sources in externalsrc -dbg packages

 

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:

--

2.7.4