From a46e374d43748b3fa4a933930ff2feccdca557ef Mon Sep 17 00:00:00 2001 From: Joe Slater Date: Tue, 23 Apr 2024 15:54:24 -0700 Subject: oe-debuginfod: add option for data storage Storing the data files under $HOME can be unreliable if debuginfod is used for several projects, especially if $HOME is shared between machines. We provide an option to save files under the project directory. The default behavior is unchanged. (From OE-Core rev: e1e0cf82f559077e2a51447baf137086202c0c4a) Signed-off-by: Joe Slater Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- scripts/oe-debuginfod | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/oe-debuginfod b/scripts/oe-debuginfod index b525310225..5e70d37b8b 100755 --- a/scripts/oe-debuginfod +++ b/scripts/oe-debuginfod @@ -15,14 +15,29 @@ scriptpath.add_bitbake_lib_path() import bb.tinfoil import subprocess +import argparse if __name__ == "__main__": + p = argparse.ArgumentParser() + p.add_argument("-d", action='store_true', \ + help="store debuginfod files in project sub-directory") + + args = p.parse_args() + with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=True) package_classes_var = "DEPLOY_DIR_" + tinfoil.config_data.getVar("PACKAGE_CLASSES").split()[0].replace("package_", "").upper() feed_dir = tinfoil.config_data.getVar(package_classes_var, expand=True) + opts = [ '--verbose', '-R', '-U', feed_dir ] + + if args.d: + fdir = os.path.join(os.getcwd(), 'oedid-files') + os.makedirs(fdir, exist_ok=True) + opts += [ '-d', os.path.join(fdir, 'did.sqlite') ] + subprocess.call(['bitbake', '-c', 'addto_recipe_sysroot', 'elfutils-native']) - subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod', '--verbose', '-R', '-U', feed_dir]) + subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod'] + opts) + # we should not get here print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG:pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf") -- cgit v1.2.3-54-g00ecf