[OE-core] [PATCH 1/1] scripts/contrib: Add graph-tool

Paul Eggleton paul.eggleton at linux.intel.com
Tue Dec 17 17:30:47 UTC 2013


On Tuesday 17 December 2013 18:16:35 Martin Jansa wrote:
> On Tue, Dec 17, 2013 at 02:56:21PM +0000, Paul Eggleton wrote:
> > A simple script I put together for getting the paths from one node to
> > another in a dot graph. This is useful for example in working out why
> > a particular recipe is getting built in conjunction with dot graph files
> > produced by bitbake -g.
> > 
> > For example:
> > 
> > $ bitbake -g core-image-minimal
> > ...
> > $ graph-tool find-paths pn-depends.dot core-image-minimal sqlite3-native
> > core-image-minimal -> packagegroup-core-boot -> udev -> libxslt-native ->
> > libxml2-native -> python-native -> sqlite3-native
> Nice addition, thanks.
> 
> Can it show multiple paths? Maybe it would be better example to show it
> on multiple-path case.

It can, yes:

$ graph-tool find-paths pn-depends.dot core-image-minimal util-linux
core-image-minimal -> packagegroup-core-boot -> udev -> glib-2.0 -> python-dbus -> dbus-glib -> dbus -> libsm -> e2fsprogs -> util-linux
core-image-minimal -> packagegroup-core-boot -> udev -> glib-2.0 -> python-dbus -> dbus -> libsm -> e2fsprogs -> util-linux
core-image-minimal -> packagegroup-core-boot -> udev -> util-linux

I've updated the branch to use this example.

> As future improvement it would be nice to be able to filter some paths,
> e.g. sometimes I'm interested in runtime-dependencies, sometimes finding
> path through runtime isn't enough (e.g. when my recipe has runtime
> dependency of "foo" but actually needs "foo" at build time).

Well, this script isn't very intelligent - it only operates on single graphs,
and isn't a complete tool, hence why I added it to contrib. There's certainly
scope for more work in this area, but I suspect it would be in a different tool
which is closer to the build system itself (such as Toaster).

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list