poky/scripts/oe-debuginfod
Joe Slater a46e374d43 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 <joe.slater@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-30 22:20:16 +01:00

1.4 KiB
Executable File

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