Bug 10893

Summary: Missing information of starting tasks in task-depends.dot
Product: [Build System, Metadata & Runtime] BitBake Reporter: Jianxun Zhang <jianxun.zhang>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: poky.bs.watcher, poky.watcher, richard.purdie
Version: 2.2   
Target Milestone: 2.4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Jianxun Zhang 2017-01-06 23:37:39 UTC
The task-depends.dot file generated with "bitbake -g target" does show the starting tasks (tasks not depending on others, e.g m4-native.do_fetch) but misses their labels in dump.

And if you run the command against a starter task, say, "bitbake -g m4-native -c do_fetch", the generated task-depends.dot doesn't contain any nodes. I think it makes more sense to have an orphan node in the dot file for this corner case by having this line in the dot file:

"m4-native.do_fetch" [label="m4-native do_unpack\n:1.4.17-r0\n...]

This should also fix the missing label.

I believe the starters get dumped just because they are depended by others. The root cause is probably in the logic to build dependency tree and dot file in cooker.py, that only covers the depended for a task, but not including task itself.
Comment 1 Jianxun Zhang 2017-01-13 23:45:46 UTC
With running 'bitbake -g m4-native -c do_unpack', other dot files, pn-depends.dot and package-depends.dot show the similar issue of missing the labels of starter packages.

But generated pn-depends.dot and package-depends.dot doesn't have missing-node issue seen in a task-depends.dot when I only dump a starter package. They show the orphan node with label as expected, e.g "bitbake -g texinfo-dummy-native  -c do_unpack.

The logic for these dot files may need multiple treatment for a unified correct result.