diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2022-02-02 02:59:49 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-02-05 12:26:36 +0000 |
commit | 10b2da6fe7f177a77141568179fa4751de706830 (patch) | |
tree | 6651b089d7fde0dc094f3d75e3b5a3e66363f528 /meta/classes/package.bbclass | |
parent | 3ad2ecb603484fe57fd89f9e54c0eb90d1e00c2a (diff) | |
download | poky-10b2da6fe7f177a77141568179fa4751de706830.tar.gz |
package: Make package_debug_vars() return a dict
It simplifies the API to return one dict instead of seven strings.
(From OE-Core rev: 610c790a94591da5c3a6b1db938cd85e2cbdbe5a)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r-- | meta/classes/package.bbclass | 96 |
1 files changed, 51 insertions, 45 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 545471468c..9e895b4ecc 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -1069,42 +1069,49 @@ def package_debug_vars(d): | |||
1069 | # We default to '.debug' style | 1069 | # We default to '.debug' style |
1070 | if d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory': | 1070 | if d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory': |
1071 | # Single debug-file-directory style debug info | 1071 | # Single debug-file-directory style debug info |
1072 | debugappend = ".debug" | 1072 | debug_vars = { |
1073 | debugstaticappend = "" | 1073 | "append": ".debug", |
1074 | debugdir = "" | 1074 | "staticappend": "", |
1075 | debugstaticdir = "" | 1075 | "dir": "", |
1076 | debuglibdir = "/usr/lib/debug" | 1076 | "staticdir": "", |
1077 | debugstaticlibdir = "/usr/lib/debug-static" | 1077 | "libdir": "/usr/lib/debug", |
1078 | debugsrcdir = "/usr/src/debug" | 1078 | "staticlibdir": "/usr/lib/debug-static", |
1079 | "srcdir": "/usr/src/debug", | ||
1080 | } | ||
1079 | elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-without-src': | 1081 | elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-without-src': |
1080 | # Original OE-core, a.k.a. ".debug", style debug info, but without sources in /usr/src/debug | 1082 | # Original OE-core, a.k.a. ".debug", style debug info, but without sources in /usr/src/debug |
1081 | debugappend = "" | 1083 | debug_vars = { |
1082 | debugstaticappend = "" | 1084 | "append": "", |
1083 | debugdir = "/.debug" | 1085 | "staticappend": "", |
1084 | debugstaticdir = "/.debug-static" | 1086 | "dir": "/.debug", |
1085 | debuglibdir = "" | 1087 | "staticdir": "/.debug-static", |
1086 | debugstaticlibdir = "" | 1088 | "libdir": "", |
1087 | debugsrcdir = "" | 1089 | "staticlibdir": "", |
1090 | "srcdir": "", | ||
1091 | } | ||
1088 | elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg': | 1092 | elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg': |
1089 | debugappend = "" | 1093 | debug_vars = { |
1090 | debugstaticappend = "" | 1094 | "append": "", |
1091 | debugdir = "/.debug" | 1095 | "staticappend": "", |
1092 | debugstaticdir = "/.debug-static" | 1096 | "dir": "/.debug", |
1093 | debuglibdir = "" | 1097 | "staticdir": "/.debug-static", |
1094 | debugstaticlibdir = "" | 1098 | "libdir": "", |
1095 | debugsrcdir = "/usr/src/debug" | 1099 | "staticlibdir": "", |
1100 | "srcdir": "/usr/src/debug", | ||
1101 | } | ||
1096 | else: | 1102 | else: |
1097 | # Original OE-core, a.k.a. ".debug", style debug info | 1103 | # Original OE-core, a.k.a. ".debug", style debug info |
1098 | debugappend = "" | 1104 | debug_vars = { |
1099 | debugstaticappend = "" | 1105 | "append": "", |
1100 | debugdir = "/.debug" | 1106 | "staticappend": "", |
1101 | debugstaticdir = "/.debug-static" | 1107 | "dir": "/.debug", |
1102 | debuglibdir = "" | 1108 | "staticdir": "/.debug-static", |
1103 | debugstaticlibdir = "" | 1109 | "libdir": "", |
1104 | debugsrcdir = "/usr/src/debug" | 1110 | "staticlibdir": "", |
1111 | "srcdir": "/usr/src/debug", | ||
1112 | } | ||
1105 | 1113 | ||
1106 | return (debugappend, debugstaticappend, debugdir, debugstaticdir, | 1114 | return debug_vars |
1107 | debuglibdir, debugstaticlibdir, debugsrcdir) | ||
1108 | 1115 | ||
1109 | python split_and_strip_files () { | 1116 | python split_and_strip_files () { |
1110 | import stat, errno | 1117 | import stat, errno |
@@ -1117,8 +1124,7 @@ python split_and_strip_files () { | |||
1117 | oldcwd = os.getcwd() | 1124 | oldcwd = os.getcwd() |
1118 | os.chdir(dvar) | 1125 | os.chdir(dvar) |
1119 | 1126 | ||
1120 | debugappend, debugstaticappend, debugdir, debugstaticdir, \ | 1127 | dv = package_debug_vars(d) |
1121 | debuglibdir, debugstaticlibdir, debugsrcdir = package_debug_vars(d) | ||
1122 | 1128 | ||
1123 | # | 1129 | # |
1124 | # First lets figure out all of the files we may have to process ... do this only once! | 1130 | # First lets figure out all of the files we may have to process ... do this only once! |
@@ -1139,9 +1145,9 @@ python split_and_strip_files () { | |||
1139 | file = os.path.join(root, f) | 1145 | file = os.path.join(root, f) |
1140 | 1146 | ||
1141 | # Skip debug files | 1147 | # Skip debug files |
1142 | if debugappend and file.endswith(debugappend): | 1148 | if dv["append"] and file.endswith(dv["append"]): |
1143 | continue | 1149 | continue |
1144 | if debugdir and debugdir in os.path.dirname(file[len(dvar):]): | 1150 | if dv["dir"] and dv["dir"] in os.path.dirname(file[len(dvar):]): |
1145 | continue | 1151 | continue |
1146 | 1152 | ||
1147 | if file in skipfiles: | 1153 | if file in skipfiles: |
@@ -1238,11 +1244,11 @@ python split_and_strip_files () { | |||
1238 | # First lets process debug splitting | 1244 | # First lets process debug splitting |
1239 | # | 1245 | # |
1240 | if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'): | 1246 | if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'): |
1241 | results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d)) | 1247 | results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, dv["dir"], dv["libdir"], dv["append"], dv["srcdir"], d)) |
1242 | 1248 | ||
1243 | if debugsrcdir and not hostos.startswith("mingw"): | 1249 | if dv["srcdir"] and not hostos.startswith("mingw"): |
1244 | if (d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'): | 1250 | if (d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'): |
1245 | results = oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d, extraargs=(dvar, debugstaticdir, debugstaticlibdir, debugstaticappend, debugsrcdir, d)) | 1251 | results = oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d, extraargs=(dvar, dv["staticdir"], dv["staticlibdir"], dv["staticappend"], dv["srcdir"], d)) |
1246 | else: | 1252 | else: |
1247 | for file in staticlibs: | 1253 | for file in staticlibs: |
1248 | results.append( (file,source_info(file, d)) ) | 1254 | results.append( (file,source_info(file, d)) ) |
@@ -1261,9 +1267,9 @@ python split_and_strip_files () { | |||
1261 | target = inodes[ref][0][len(dvar):] | 1267 | target = inodes[ref][0][len(dvar):] |
1262 | for file in inodes[ref][1:]: | 1268 | for file in inodes[ref][1:]: |
1263 | src = file[len(dvar):] | 1269 | src = file[len(dvar):] |
1264 | dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(target) + debugappend | 1270 | dest = dv["libdir"] + os.path.dirname(src) + dv["dir"] + "/" + os.path.basename(target) + dv["append"] |
1265 | fpath = dvar + dest | 1271 | fpath = dvar + dest |
1266 | ftarget = dvar + debuglibdir + os.path.dirname(target) + debugdir + "/" + os.path.basename(target) + debugappend | 1272 | ftarget = dvar + dv["libdir"] + os.path.dirname(target) + dv["dir"] + "/" + os.path.basename(target) + dv["append"] |
1267 | bb.utils.mkdirhier(os.path.dirname(fpath)) | 1273 | bb.utils.mkdirhier(os.path.dirname(fpath)) |
1268 | # Only one hardlink of separated debug info file in each directory | 1274 | # Only one hardlink of separated debug info file in each directory |
1269 | if not os.access(fpath, os.R_OK): | 1275 | if not os.access(fpath, os.R_OK): |
@@ -1273,7 +1279,7 @@ python split_and_strip_files () { | |||
1273 | # Create symlinks for all cases we were able to split symbols | 1279 | # Create symlinks for all cases we were able to split symbols |
1274 | for file in symlinks: | 1280 | for file in symlinks: |
1275 | src = file[len(dvar):] | 1281 | src = file[len(dvar):] |
1276 | dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend | 1282 | dest = dv["libdir"] + os.path.dirname(src) + dv["dir"] + "/" + os.path.basename(src) + dv["append"] |
1277 | fpath = dvar + dest | 1283 | fpath = dvar + dest |
1278 | # Skip it if the target doesn't exist | 1284 | # Skip it if the target doesn't exist |
1279 | try: | 1285 | try: |
@@ -1289,17 +1295,17 @@ python split_and_strip_files () { | |||
1289 | lbase = os.path.basename(ltarget) | 1295 | lbase = os.path.basename(ltarget) |
1290 | ftarget = "" | 1296 | ftarget = "" |
1291 | if lpath and lpath != ".": | 1297 | if lpath and lpath != ".": |
1292 | ftarget += lpath + debugdir + "/" | 1298 | ftarget += lpath + dv["dir"] + "/" |
1293 | ftarget += lbase + debugappend | 1299 | ftarget += lbase + dv["append"] |
1294 | if lpath.startswith(".."): | 1300 | if lpath.startswith(".."): |
1295 | ftarget = os.path.join("..", ftarget) | 1301 | ftarget = os.path.join("..", ftarget) |
1296 | bb.utils.mkdirhier(os.path.dirname(fpath)) | 1302 | bb.utils.mkdirhier(os.path.dirname(fpath)) |
1297 | #bb.note("Symlink %s -> %s" % (fpath, ftarget)) | 1303 | #bb.note("Symlink %s -> %s" % (fpath, ftarget)) |
1298 | os.symlink(ftarget, fpath) | 1304 | os.symlink(ftarget, fpath) |
1299 | 1305 | ||
1300 | # Process the debugsrcdir if requested... | 1306 | # Process the dv["srcdir"] if requested... |
1301 | # This copies and places the referenced sources for later debugging... | 1307 | # This copies and places the referenced sources for later debugging... |
1302 | copydebugsources(debugsrcdir, sources, d) | 1308 | copydebugsources(dv["srcdir"], sources, d) |
1303 | # | 1309 | # |
1304 | # End of debug splitting | 1310 | # End of debug splitting |
1305 | # | 1311 | # |
@@ -1323,7 +1329,7 @@ python split_and_strip_files () { | |||
1323 | # Build "minidebuginfo" and reinject it back into the stripped binaries | 1329 | # Build "minidebuginfo" and reinject it back into the stripped binaries |
1324 | if d.getVar('PACKAGE_MINIDEBUGINFO') == '1': | 1330 | if d.getVar('PACKAGE_MINIDEBUGINFO') == '1': |
1325 | oe.utils.multiprocess_launch(inject_minidebuginfo, list(elffiles), d, | 1331 | oe.utils.multiprocess_launch(inject_minidebuginfo, list(elffiles), d, |
1326 | extraargs=(dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d)) | 1332 | extraargs=(dvar, dv["dir"], dv["libdir"], dv["append"], dv["srcdir"], d)) |
1327 | 1333 | ||
1328 | # | 1334 | # |
1329 | # End of strip | 1335 | # End of strip |