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

Vignesh Rajendran (RBEI/ECF3) Vignesh.Rajendran at in.bosch.com
Thu May 17 05:55:20 UTC 2018


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 at lists.openembedded.org
Cc: Vignesh Rajendran (RBEI/ECF3) <Vignesh.Rajendran at 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 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:

--

2.7.4


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180517/e1aa3b30/attachment-0002.html>


More information about the Openembedded-core mailing list