1#!/usr/bin/env python3 2# 3# Copyright OpenEmbedded Contributors 4# 5# SPDX-License-Identifier: MIT 6# 7 8import os 9import sys 10scripts_path = os.path.dirname(os.path.realpath(__file__)) 11lib_path = scripts_path + "/lib" 12sys.path.insert(0, lib_path) 13import scriptpath 14scriptpath.add_bitbake_lib_path() 15 16import bb.tinfoil 17import subprocess 18import argparse 19 20if __name__ == "__main__": 21 p = argparse.ArgumentParser() 22 p.add_argument("-d", action='store_true', \ 23 help="store debuginfod files in project sub-directory") 24 25 args = p.parse_args() 26 27 with bb.tinfoil.Tinfoil() as tinfoil: 28 tinfoil.prepare(config_only=True) 29 package_classes_var = "DEPLOY_DIR_" + tinfoil.config_data.getVar("PACKAGE_CLASSES").split()[0].replace("package_", "").upper() 30 feed_dir = tinfoil.config_data.getVar(package_classes_var, expand=True) 31 32 opts = [ '--verbose', '-R', '-U', feed_dir ] 33 34 if args.d: 35 fdir = os.path.join(os.getcwd(), 'oedid-files') 36 os.makedirs(fdir, exist_ok=True) 37 opts += [ '-d', os.path.join(fdir, 'did.sqlite') ] 38 39 subprocess.call(['bitbake', '-c', 'addto_recipe_sysroot', 'elfutils-native']) 40 41 subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod'] + opts) 42 # we should not get here 43 print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG:pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf") 44