[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    [OE-core] [PATCH 2/2] packages.bbclass: Break out the debug info styles to bitbake variables
From:       "Peter Kjellerstedt" <peter.kjellerstedt () axis ! com>
Date:       2022-01-31 21:39:54
Message-ID: 20220131213954.29887-2-pkj () axis ! com
[Download RAW message or body]

Break out the hardcoded values for the various debug info styles from
split_and_strip_files() into bitbake variables. This allows the debug
info styles to be adopted, and also allows new styles to be added
(within the limits of the available variables).

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 meta/classes/package.bbclass | 95 ++++++++++++++++++++++--------------
 1 file changed, 58 insertions(+), 37 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 4927fb99ff..a5358d5851 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1065,6 +1065,51 @@ python fixup_perms () {
                     fix_perms(each_file, fs_perms_table[dir].fmode, \
fs_perms_table[dir].fuid, fs_perms_table[dir].fgid, dir)  }
 
+# Debug info
+PACKAGE_DEBUG_APPEND = "${@d.getVarFlag('PACKAGE_DEBUG_APPEND', \
d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" +PACKAGE_DEBUG_STATICAPPEND = \
"${@d.getVarFlag('PACKAGE_DEBUG_STATICAPPEND', \
d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" +PACKAGE_DEBUG_DIR = \
"${@d.getVarFlag('PACKAGE_DEBUG_DIR', d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" \
+PACKAGE_DEBUG_STATICDIR = "${@d.getVarFlag('PACKAGE_DEBUG_STATICDIR', \
d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" +PACKAGE_DEBUG_LIBDIR = \
"${@d.getVarFlag('PACKAGE_DEBUG_LIBDIR', d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" \
+PACKAGE_DEBUG_STATICLIBDIR = "${@d.getVarFlag('PACKAGE_DEBUG_STATICLIBDIR', \
d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" +PACKAGE_DEBUG_SRCDIR = \
"${@d.getVarFlag('PACKAGE_DEBUG_SRCDIR', d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))}" +
+# Original OE-core, a.k.a. ".debug", style debug info
+PACKAGE_DEBUG_APPEND[.debug] = ""
+PACKAGE_DEBUG_STATICAPPEND[.debug] = ""
+PACKAGE_DEBUG_DIR[.debug] = "/.debug"
+PACKAGE_DEBUG_STATICDIR[.debug] = "/.debug-static"
+PACKAGE_DEBUG_LIBDIR[.debug] = ""
+PACKAGE_DEBUG_STATICLIBDIR[.debug] = ""
+PACKAGE_DEBUG_SRCDIR[.debug] = "/usr/src/debug"
+
+# Single debug-file-directory style debug info
+PACKAGE_DEBUG_APPEND[debug-file-directory] = ".debug"
+PACKAGE_DEBUG_STATICAPPEND[debug-file-directory] = ""
+PACKAGE_DEBUG_DIR[debug-file-directory] = ""
+PACKAGE_DEBUG_STATICDIR[debug-file-directory] = ""
+PACKAGE_DEBUG_LIBDIR[debug-file-directory] = "/usr/lib/debug"
+PACKAGE_DEBUG_STATICLIBDIR[debug-file-directory] = "/usr/lib/debug-static"
+PACKAGE_DEBUG_SRCDIR[debug-file-directory] = "/usr/src/debug"
+
+# Debug info without sources in /usr/src/debug
+PACKAGE_DEBUG_APPEND[debug-without-src] = ""
+PACKAGE_DEBUG_STATICAPPEND[debug-without-src] = ""
+PACKAGE_DEBUG_DIR[debug-without-src] = "/.debug"
+PACKAGE_DEBUG_STATICDIR[debug-without-src] = "/.debug-static"
+PACKAGE_DEBUG_LIBDIR[debug-without-src] = ""
+PACKAGE_DEBUG_STATICLIBDIR[debug-without-src] = ""
+PACKAGE_DEBUG_SRCDIR[debug-without-src] = ""
+
+# Debug info with separate -src packages
+PACKAGE_DEBUG_APPEND[debug-with-srcpkg] = ""
+PACKAGE_DEBUG_STATICAPPEND[debug-with-srcpkg] = ""
+PACKAGE_DEBUG_DIR[debug-with-srcpkg] = "/.debug"
+PACKAGE_DEBUG_STATICDIR[debug-with-srcpkg] = "/.debug-static"
+PACKAGE_DEBUG_LIBDIR[debug-with-srcpkg] = ""
+PACKAGE_DEBUG_STATICLIBDIR[debug-with-srcpkg] = ""
+PACKAGE_DEBUG_SRCDIR[debug-with-srcpkg] = "/usr/src/debug"
+
 python split_and_strip_files () {
     import stat, errno
     import subprocess
@@ -1076,42 +1121,18 @@ python split_and_strip_files () {
     oldcwd = os.getcwd()
     os.chdir(dvar)
 
-    # We default to '.debug' style
-    if d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory':
-        # Single debug-file-directory style debug info
-        debugappend = ".debug"
-        debugstaticappend = ""
-        debugdir = ""
-        debugstaticdir = ""
-        debuglibdir = "/usr/lib/debug"
-        debugstaticlibdir = "/usr/lib/debug-static"
-        debugsrcdir = "/usr/src/debug"
-    elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-without-src':
-        # Original OE-core, a.k.a. ".debug", style debug info, but without sources \
                in /usr/src/debug
-        debugappend = ""
-        debugstaticappend = ""
-        debugdir = "/.debug"
-        debugstaticdir = "/.debug-static"
-        debuglibdir = ""
-        debugstaticlibdir = ""
-        debugsrcdir = ""
-    elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg':
-        debugappend = ""
-        debugstaticappend = ""
-        debugdir = "/.debug"
-        debugstaticdir = "/.debug-static"
-        debuglibdir = ""
-        debugstaticlibdir = ""
-        debugsrcdir = "/usr/src/debug"
-    else:
-        # Original OE-core, a.k.a. ".debug", style debug info
-        debugappend = ""
-        debugstaticappend = ""
-        debugdir = "/.debug"
-        debugstaticdir = "/.debug-static"
-        debuglibdir = ""
-        debugstaticlibdir = ""
-        debugsrcdir = "/usr/src/debug"
+    # Sanity test that PACKAGE_DEBUG_SPLIT_STYLE has a valid value.
+    if d.getVarFlag('PACKAGE_DEBUG_APPEND', d.getVar('PACKAGE_DEBUG_SPLIT_STYLE')) \
is None: +        bb.fatal("Unknown PACKAGE_DEBUG_SPLIT_STYLE specified: %s" %
+                 d.getVar('PACKAGE_DEBUG_SPLIT_STYLE'))
+
+    debugappend = d.getVar('PACKAGE_DEBUG_APPEND')
+    debugstaticappend = d.getVar('PACKAGE_DEBUG_STATICAPPEND')
+    debugdir = d.getVar('PACKAGE_DEBUG_DIR')
+    debugstaticdir = d.getVar('PACKAGE_DEBUG_STATICDIR')
+    debuglibdir = d.getVar('PACKAGE_DEBUG_LIBDIR')
+    debugstaticlibdir = d.getVar('PACKAGE_DEBUG_STATICLIBDIR')
+    debugsrcdir = d.getVar('PACKAGE_DEBUG_SRCDIR')
 
     #
     # First lets figure out all of the files we may have to process ... do this only \
once! @@ -1338,7 +1359,7 @@ python populate_packages () {
     
     autodebug = not (d.getVar("NOAUTOPACKAGEDEBUG") or False)
 
-    split_source_package = (d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == \
'debug-with-srcpkg') +    split_source_package = \
(d.getVar('PACKAGE_DEBUG_SPLIT_STYLE').endswith('-with-srcpkg'))  
     # If debug-with-srcpkg mode is enabled then add the source package if it
     # doesn't exist and add the source file contents to the source package.



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161139): https://lists.openembedded.org/g/openembedded-core/message/161139
Mute This Topic: https://lists.openembedded.org/mt/88819087/4454766
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [openembedded-core@marc.info]
-=-=-=-=-=-=-=-=-=-=-=-



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic