mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 00:49:33 +02:00
oe-depends-dot: Handle new format for task-depends.dot
The .dot file created by `bitbake -g` changed formats a while ago, which broke oe-depends-dot. Also add some useful examples to the --help output. (From OE-Core rev: 7751bc4909f3834e43db020ebb91665a5d7960a9) Signed-off-by: Rusty Howell <rustyhowell@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
cb42fa614a
commit
9c4a7c99ae
@@ -15,7 +15,7 @@ class Dot(object):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description="Analyse recipe-depends.dot generated by bitbake -g",
|
description="Analyse recipe-depends.dot generated by bitbake -g",
|
||||||
epilog="Use %(prog)s --help to get help")
|
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||||
parser.add_argument("dotfile",
|
parser.add_argument("dotfile",
|
||||||
help = "Specify the dotfile", nargs = 1, action='store', default='')
|
help = "Specify the dotfile", nargs = 1, action='store', default='')
|
||||||
parser.add_argument("-k", "--key",
|
parser.add_argument("-k", "--key",
|
||||||
@@ -32,6 +32,21 @@ class Dot(object):
|
|||||||
" For example, A->B, B->C, A->C, then A->C can be removed.",
|
" For example, A->B, B->C, A->C, then A->C can be removed.",
|
||||||
action="store_true", default=False)
|
action="store_true", default=False)
|
||||||
|
|
||||||
|
parser.epilog = """
|
||||||
|
Examples:
|
||||||
|
First generate the .dot file:
|
||||||
|
bitbake -g core-image-minimal
|
||||||
|
|
||||||
|
To find out why a package is being built:
|
||||||
|
%(prog)s -k <package> -w ./task-depends.dot
|
||||||
|
|
||||||
|
To find out what a package depends on:
|
||||||
|
%(prog)s -k <package> -d ./task-depends.dot
|
||||||
|
|
||||||
|
Reduce the .dot file packages only, no tasks:
|
||||||
|
%(prog)s -r ./task-depends.dot
|
||||||
|
"""
|
||||||
|
|
||||||
self.args = parser.parse_args()
|
self.args = parser.parse_args()
|
||||||
|
|
||||||
if len(sys.argv) != 3 and len(sys.argv) < 5:
|
if len(sys.argv) != 3 and len(sys.argv) < 5:
|
||||||
@@ -99,6 +114,10 @@ class Dot(object):
|
|||||||
if key == "meta-world-pkgdata":
|
if key == "meta-world-pkgdata":
|
||||||
continue
|
continue
|
||||||
dep = m.group(2)
|
dep = m.group(2)
|
||||||
|
key = key.split('.')[0]
|
||||||
|
dep = dep.split('.')[0]
|
||||||
|
if key == dep:
|
||||||
|
continue
|
||||||
if key in depends:
|
if key in depends:
|
||||||
if not key in depends[key]:
|
if not key in depends[key]:
|
||||||
depends[key].add(dep)
|
depends[key].add(dep)
|
||||||
|
|||||||
Reference in New Issue
Block a user