[bitbake-devel] [PATCH 1/1] cooker.py: use depends instead of tdepends to generate recipe-depends.dot

Richard Purdie richard.purdie at linuxfoundation.org
Wed Aug 21 14:28:22 UTC 2019


On Wed, 2019-08-21 at 17:01 +0800, Chen Qi wrote:
> Currently recipe-depends.dot generated by `bitbake -g' is just
> a variant of task-depends.dot. It could be generated by removing the
> task names from task-depends.dot. In fact, the codes are using the
> same data depgraph['tdepends'] to generate the dot files.
> 
> In other words, the current recipe-depends.dot does not provide
> additional
> information than task-depends.dot.
> 
> What's worse, this is confusing users when they try to find out the
> dependencies among recipes.
> 
> e.g.
> $ grep xz recipe-depends.dot | grep bzip2
> "bzip2" -> "xz"
> "xz" -> "bzip2"
> 
> They would ask why 'bzip2' depends on 'xz' while 'xz' also
> depends on 'bzip2'. It looks like a circular dependency. And it's not
> helping user finding out which recipe depends on which.
> 
> So change to use depgraph['depends'] to generate the recipe-
> depends.dot.
> After the change, there's no such confusing.

We can't win with this and I'd rather remove it than give misleading
information.

"depends" doesn't account for rdepends or task dependencies so after
this change, task-depends could show A -> B but recipe-depends.dot and
this is even more confusing to the user.

http://git.yoctoproject.org/cgit.cgi/poky/commit/bitbake/lib/bb/cooker.py?id=6cfc1c83b90c9c9dd5290749aed49896327739e6

is the commit where we attempted to fix this. Keeping a "flattened
tree" was done to try and help users but I don't want to go back to
where we had misleading information which using "depends" would do.

Cheers,

Richard





More information about the bitbake-devel mailing list