[honister,3/3] package: Pass dv (debug_vars) around instead of individual vars

Message ID 20220208155351.11582-3-pkj@axis.com
State New
Headers show
Series [honister,1/3] package: Split out package_debug_vars from split_and_strip_files | expand

Commit Message

Peter Kjellerstedt Feb. 8, 2022, 3:53 p.m. UTC
From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>

This simplifies the APIs for splitdebuginfo(), splitstaticdebuginfo()
and inject_minidebuginfo()

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/package.bbclass | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

Comments

Mittal, Anuj Feb. 14, 2022, 8:40 a.m. UTC | #1
Hi Peter

On Tue, 2022-02-08 at 16:53 +0100, Peter Kjellerstedt wrote:
> From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> 
> This simplifies the APIs for splitdebuginfo(), splitstaticdebuginfo()
> and inject_minidebuginfo()

It doesn't look like these patches are fixing any bug so not
appropriate for honister in my opinion.

Thanks,

Anuj

> 
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/classes/package.bbclass | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/meta/classes/package.bbclass
> b/meta/classes/package.bbclass
> index c3b4c0390a..dc1494eb1e 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -369,7 +369,7 @@ def source_info(file, d, fatal=True):
>  
>      return list(debugsources)
>  
> -def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend,
> debugsrcdir, d):
> +def splitdebuginfo(file, dvar, dv, d):
>      # Function to split a single file into two components, one is
> the stripped
>      # target system binary, the other contains any debugging
> information. The
>      # two files are linked to reference each other.
> @@ -380,7 +380,7 @@ def splitdebuginfo(file, dvar, debugdir,
> debuglibdir, debugappend, debugsrcdir,
>      import subprocess
>  
>      src = file[len(dvar):]
> -    dest = debuglibdir + os.path.dirname(src) + debugdir + "/" +
> os.path.basename(src) + debugappend
> +    dest = dv["libdir"] + os.path.dirname(src) + dv["dir"] + "/" +
> os.path.basename(src) + dv["append"]
>      debugfile = dvar + dest
>      sources = []
>  
> @@ -403,7 +403,7 @@ def splitdebuginfo(file, dvar, debugdir,
> debuglibdir, debugappend, debugsrcdir,
>          os.chmod(file, newmode)
>  
>      # We need to extract the debug src information here...
> -    if debugsrcdir:
> +    if dv["srcdir"]:
>          sources = source_info(file, d)
>  
>      bb.utils.mkdirhier(os.path.dirname(debugfile))
> @@ -418,7 +418,7 @@ def splitdebuginfo(file, dvar, debugdir,
> debuglibdir, debugappend, debugsrcdir,
>  
>      return (file, sources)
>  
> -def splitstaticdebuginfo(file, dvar, debugstaticdir,
> debugstaticlibdir, debugstaticappend, debugsrcdir, d):
> +def splitstaticdebuginfo(file, dvar, dv, d):
>      # Unlike the function above, there is no way to split a static
> library
>      # two components.  So to get similar results we will copy the
> unmodified
>      # static library (containing the debug symbols) into a new
> directory.
> @@ -431,7 +431,7 @@ def splitstaticdebuginfo(file, dvar,
> debugstaticdir, debugstaticlibdir, debugsta
>      import shutil
>  
>      src = file[len(dvar):]
> -    dest = debugstaticlibdir + os.path.dirname(src) + debugstaticdir
> + "/" + os.path.basename(src) + debugstaticappend
> +    dest = dv["staticlibdir"] + os.path.dirname(src) +
> dv["staticdir"] + "/" + os.path.basename(src) + dv["staticappend"]
>      debugfile = dvar + dest
>      sources = []
>  
> @@ -448,7 +448,7 @@ def splitstaticdebuginfo(file, dvar,
> debugstaticdir, debugstaticlibdir, debugsta
>          os.chmod(file, newmode)
>  
>      # We need to extract the debug src information here...
> -    if debugsrcdir:
> +    if dv["srcdir"]:
>          sources = source_info(file, d)
>  
>      bb.utils.mkdirhier(os.path.dirname(debugfile))
> @@ -461,7 +461,7 @@ def splitstaticdebuginfo(file, dvar,
> debugstaticdir, debugstaticlibdir, debugsta
>  
>      return (file, sources)
>  
> -def inject_minidebuginfo(file, dvar, debugdir, debuglibdir,
> debugappend, debugsrcdir, d):
> +def inject_minidebuginfo(file, dvar, dv, d):
>      # Extract just the symbols from debuginfo into minidebuginfo,
>      # compress it with xz and inject it back into the binary in a
> .gnu_debugdata section.
>      # https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html
> @@ -475,7 +475,7 @@ def inject_minidebuginfo(file, dvar, debugdir,
> debuglibdir, debugappend, debugsr
>      minidebuginfodir = d.expand('${WORKDIR}/minidebuginfo')
>  
>      src = file[len(dvar):]
> -    dest = debuglibdir + os.path.dirname(src) + debugdir + "/" +
> os.path.basename(src) + debugappend
> +    dest = dv["libdir"] + os.path.dirname(src) + dv["dir"] + "/" +
> os.path.basename(src) + dv["append"]
>      debugfile = dvar + dest
>      minidebugfile = minidebuginfodir + src + '.minidebug'
>      bb.utils.mkdirhier(os.path.dirname(minidebugfile))
> @@ -1249,11 +1249,11 @@ python split_and_strip_files () {
>      # First lets process debug splitting
>      #
>      if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'):
> -        results = oe.utils.multiprocess_launch(splitdebuginfo,
> list(elffiles), d, extraargs=(dvar, dv["dir"], dv["libdir"],
> dv["append"], dv["srcdir"], d))
> +        results = oe.utils.multiprocess_launch(splitdebuginfo,
> list(elffiles), d, extraargs=(dvar, dv, d))
>  
>          if dv["srcdir"] and not hostos.startswith("mingw"):
>              if (d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'):
> -                results =
> oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d,
> extraargs=(dvar, dv["staticdir"], dv["staticlibdir"],
> dv["staticappend"], dv["srcdir"], d))
> +                results =
> oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d,
> extraargs=(dvar, dv, d))
>              else:
>                  for file in staticlibs:
>                      results.append( (file,source_info(file, d)) )
> @@ -1336,7 +1336,7 @@ python split_and_strip_files () {
>      # Build "minidebuginfo" and reinject it back into the stripped
> binaries
>      if d.getVar('PACKAGE_MINIDEBUGINFO') == '1':
>          oe.utils.multiprocess_launch(inject_minidebuginfo,
> list(elffiles), d,
> -                                     extraargs=(dvar, dv["dir"],
> dv["libdir"], dv["append"], dv["srcdir"], d))
> +                                     extraargs=(dvar, dv, d))
>  
>      #
>      # End of strip
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#161520):
> https://lists.openembedded.org/g/openembedded-core/message/161520
> Mute This Topic: https://lists.openembedded.org/mt/88999266/3616702
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe:
> https://lists.openembedded.org/g/openembedded-core/unsub [
> anuj.mittal@intel.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index c3b4c0390a..dc1494eb1e 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -369,7 +369,7 @@  def source_info(file, d, fatal=True):
 
     return list(debugsources)
 
-def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d):
+def splitdebuginfo(file, dvar, dv, d):
     # Function to split a single file into two components, one is the stripped
     # target system binary, the other contains any debugging information. The
     # two files are linked to reference each other.
@@ -380,7 +380,7 @@  def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
     import subprocess
 
     src = file[len(dvar):]
-    dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend
+    dest = dv["libdir"] + os.path.dirname(src) + dv["dir"] + "/" + os.path.basename(src) + dv["append"]
     debugfile = dvar + dest
     sources = []
 
@@ -403,7 +403,7 @@  def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
         os.chmod(file, newmode)
 
     # We need to extract the debug src information here...
-    if debugsrcdir:
+    if dv["srcdir"]:
         sources = source_info(file, d)
 
     bb.utils.mkdirhier(os.path.dirname(debugfile))
@@ -418,7 +418,7 @@  def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
 
     return (file, sources)
 
-def splitstaticdebuginfo(file, dvar, debugstaticdir, debugstaticlibdir, debugstaticappend, debugsrcdir, d):
+def splitstaticdebuginfo(file, dvar, dv, d):
     # Unlike the function above, there is no way to split a static library
     # two components.  So to get similar results we will copy the unmodified
     # static library (containing the debug symbols) into a new directory.
@@ -431,7 +431,7 @@  def splitstaticdebuginfo(file, dvar, debugstaticdir, debugstaticlibdir, debugsta
     import shutil
 
     src = file[len(dvar):]
-    dest = debugstaticlibdir + os.path.dirname(src) + debugstaticdir + "/" + os.path.basename(src) + debugstaticappend
+    dest = dv["staticlibdir"] + os.path.dirname(src) + dv["staticdir"] + "/" + os.path.basename(src) + dv["staticappend"]
     debugfile = dvar + dest
     sources = []
 
@@ -448,7 +448,7 @@  def splitstaticdebuginfo(file, dvar, debugstaticdir, debugstaticlibdir, debugsta
         os.chmod(file, newmode)
 
     # We need to extract the debug src information here...
-    if debugsrcdir:
+    if dv["srcdir"]:
         sources = source_info(file, d)
 
     bb.utils.mkdirhier(os.path.dirname(debugfile))
@@ -461,7 +461,7 @@  def splitstaticdebuginfo(file, dvar, debugstaticdir, debugstaticlibdir, debugsta
 
     return (file, sources)
 
-def inject_minidebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d):
+def inject_minidebuginfo(file, dvar, dv, d):
     # Extract just the symbols from debuginfo into minidebuginfo,
     # compress it with xz and inject it back into the binary in a .gnu_debugdata section.
     # https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html
@@ -475,7 +475,7 @@  def inject_minidebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsr
     minidebuginfodir = d.expand('${WORKDIR}/minidebuginfo')
 
     src = file[len(dvar):]
-    dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend
+    dest = dv["libdir"] + os.path.dirname(src) + dv["dir"] + "/" + os.path.basename(src) + dv["append"]
     debugfile = dvar + dest
     minidebugfile = minidebuginfodir + src + '.minidebug'
     bb.utils.mkdirhier(os.path.dirname(minidebugfile))
@@ -1249,11 +1249,11 @@  python split_and_strip_files () {
     # First lets process debug splitting
     #
     if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'):
-        results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, dv["dir"], dv["libdir"], dv["append"], dv["srcdir"], d))
+        results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, dv, d))
 
         if dv["srcdir"] and not hostos.startswith("mingw"):
             if (d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'):
-                results = oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d, extraargs=(dvar, dv["staticdir"], dv["staticlibdir"], dv["staticappend"], dv["srcdir"], d))
+                results = oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d, extraargs=(dvar, dv, d))
             else:
                 for file in staticlibs:
                     results.append( (file,source_info(file, d)) )
@@ -1336,7 +1336,7 @@  python split_and_strip_files () {
     # Build "minidebuginfo" and reinject it back into the stripped binaries
     if d.getVar('PACKAGE_MINIDEBUGINFO') == '1':
         oe.utils.multiprocess_launch(inject_minidebuginfo, list(elffiles), d,
-                                     extraargs=(dvar, dv["dir"], dv["libdir"], dv["append"], dv["srcdir"], d))
+                                     extraargs=(dvar, dv, d))
 
     #
     # End of strip