summaryrefslogtreecommitdiffstats
path: root/scripts/oe-debuginfod
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/oe-debuginfod')
-rwxr-xr-xscripts/oe-debuginfod43
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")