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.kjellerst...@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/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-