diff options
Diffstat (limited to 'scripts/oe-debuginfod')
-rwxr-xr-x | scripts/oe-debuginfod | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/oe-debuginfod b/scripts/oe-debuginfod new file mode 100755 index 0000000000..5e70d37b8b --- /dev/null +++ b/scripts/oe-debuginfod @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +import os +import sys +scripts_path = os.path.dirname(os.path.realpath(__file__)) +lib_path = scripts_path + "/lib" +sys.path.insert(0, lib_path) +import scriptpath +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'] + 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") |