One of the last tasks on my todo list before I look at the GUI is the
dependency graph generation. Currently this is in self contained code
which works but has odd bugs. I'd like to convert it to use the new
taskData and runqueue data handling routines. The main advantage of
doing this is consistency - I want the graph to actually match what
bitbake does and for that we only want one code path :). 

Currently we can graph DEPENDS and RDEPENDS. Bitbake has changed and now
works at the task level. I'm wondering if outputting DEPENDS and
RDEPENDS data makes sense any longer or should we should output the
actual computed task dependencies?

As an example, the task based output would look like:

"gnu-config-native.do_populate_staging" [label="gnu-config-native 
do_populate_staging\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_populate_staging" -> "gnu-config-native.do_package_write"
"gnu-config-native.do_package_write" [label="gnu-config-native 
do_package_write\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_package_write" -> "gnu-config-native.do_package"
"m4-native.do_unpack" [label="m4-native 
do_unpack\n1.4.2-r0\n/usr/ohoe-max/meta/packages/m4/m4-native_1.4.2.bb"]
"m4-native.do_unpack" -> "m4-native.do_fetch"
"m4-native.do_fetch" [label="m4-native 
do_fetch\n1.4.2-r0\n/usr/ohoe-max/meta/packages/m4/m4-native_1.4.2.bb"]
"gnu-config-native.do_compile" [label="gnu-config-native 
do_compile\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_compile" -> "gnu-config-native.do_configure"
"gnu-config-native.do_install" [label="gnu-config-native 
do_install\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_install" -> "gnu-config-native.do_compile"
"gnu-config-native.do_patch" [label="gnu-config-native 
do_patch\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_patch" -> "gnu-config-native.do_unpack"
"gnu-config-native.do_configure" [label="gnu-config-native 
do_configure\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_configure" -> "gnu-config-native.do_unpack"
"gnu-config-native.do_configure" -> "gnu-config-native.do_patch"
"gnu-config-native.do_package" [label="gnu-config-native 
do_package\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_package" -> "gnu-config-native.do_install"
"gnu-config-native.do_unpack" [label="gnu-config-native 
do_unpack\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]
"gnu-config-native.do_unpack" -> "gnu-config-native.do_fetch"
"gnu-config-native.do_fetch" [label="gnu-config-native 
do_fetch\n0.1+cvs20050701-r4\n/usr/ohoe-max/meta/packages/gnu-config/gnu-config-native_20050701.bb"]

The RFCs:

* Do we need DEPENDS/RDEPENDS or does the above replace that?
* What should we set label to?
* Can we improve the above formatting?
* Should -I IGNORED_DOT_DEPS become a more general commandline option to
be appended to ASSUME_PROVIDED (which my replacement graph code does
internally atm)? Do we want this to support regexps?

http://www.rpsys.net/openzaurus/temp/bitbake_depgraph.patch is the patch
I have atm. 

Regards,

Richard



_______________________________________________
Bitbake-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bitbake-dev

Reply via email to