[bitbake-devel] Analyzing dependencies

Peter Kjellerstedt peter.kjellerstedt at axis.com
Thu Jul 14 02:39:54 UTC 2016


> -----Original Message-----
> From: bitbake-devel-bounces at lists.openembedded.org [mailto:bitbake-
> devel-bounces at lists.openembedded.org] On Behalf Of Paul Eggleton
> Sent: den 14 juli 2016 00:44
> To: bitbake-devel at lists.openembedded.org
> Cc: Gary Thomas
> Subject: Re: [bitbake-devel] Analyzing dependencies
> 
> On Wed, 13 Apr 2016 08:20:38 Gary Thomas wrote:
> > On 2016-04-13 08:08, Khem Raj wrote:
> > > Use any program that reads dotty files
> >
> > Know of any interactive ones that let you explore like the 'depexp'?
> 
> It's not quite like that but FYI I have found "xdot" useful for viewing
> dot files - it performs well with reasonably large graphs (though still
> struggles with the bitbake -g task graph unfortunately).
> 
>   https://github.com/jrfonseca/xdot.py
> 
> Cheers,
> Paul
> 
> --
> 
> Paul Eggleton
> Intel Open Source Technology Centre

To make it possible to view the BitBake graphs in a sane way, I recommend 
to use gvpr and tred (from graphviz) to filter them.

Here is an example filter for gvpr that I have used to filter out native 
recipes. It also changes the labels for each node to only be the recipe 
name. To use it, first run "bitbake -g <recipe>" for the recipe you are 
interested in, e.g., core-image-minimal. Then run 
"gvpr -i -f filter_non-native.txt pn-depends.dot | tred | xdot.py&".

---- 8< -------- filter_non-native.txt ---------------------------------
N[match(label, "/meta") != -1 &&
  match(label, "virtual:native:") == -1 &&
  match(name, "-native") == -1]

N {
	label = gsub(label, ' *');
}
---- >8 -------- filter_non-native.txt ---------------------------------

//Peter




More information about the bitbake-devel mailing list