| #!/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") |