[opensuse-buildservice] build dependency graphs?
Hi! Is there an easy way to visualize the build dependencies inside an OBS project? Something like debtree ( http://collab-maint.alioth.debian.org/debtree/ ) Shouldn't be too difficult to produce a dot file for graphviz from osc buildinfo output, but if it already exists I'd better not reinvent the wheel. Regards, Uwe Geuder Nomovok Ltd. Tampere, Finland uwe.gxuder@nomovok.com (bot check: humans correct 1 obvious spelling error) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Mittwoch, 22. Februar 2012, 22:04:21 schrieb Uwe Geuder:
Hi!
Is there an easy way to visualize the build dependencies inside an OBS project?
Something like debtree ( http://collab-maint.alioth.debian.org/debtree/ )
Shouldn't be too difficult to produce a dot file for graphviz from osc buildinfo output, but if it already exists I'd better not reinvent the wheel.
I am not aware that this exists already somewhere ... would be indeed nice to have :) -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wednesday 2012-02-22 21:12, Adrian Schröter wrote:
Am Mittwoch, 22. Februar 2012, 22:04:21 schrieb Uwe Geuder:
Hi!
Is there an easy way to visualize the build dependencies inside an OBS project?
Something like debtree ( http://collab-maint.alioth.debian.org/debtree/ )
Shouldn't be too difficult to produce a dot file for graphviz from osc buildinfo output, but if it already exists I'd better not reinvent the wheel.
I am not aware that this exists already somewhere
When one does `osc build`, it produces a buildinfo.xml that ought to come from somewhere. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Uwe Geuder wrote:
Is there an easy way to visualize the build dependencies inside an OBS project?
Something like debtree ( http://collab-maint.alioth.debian.org/debtree/ )
Shouldn't be too difficult to produce a dot file for graphviz from osc buildinfo output, but if it already exists I'd better not reinvent the wheel.
mkdiststats¹ has some bits. AFAIK obs unfortunately still only returns the transitive closure of all dependencies. Ie the build info says "x depends on y and z" but that could also mean x actually only explictly depends on y but y in turn depends on z. cu Ludwig [1] http://gitorious.org/opensuse/mkdiststats -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Ludwig Nussel wrote:
Uwe Geuder wrote:
Is there an easy way to visualize the build dependencies inside an OBS project?
Something like debtree ( http://collab-maint.alioth.debian.org/debtree/ )
Shouldn't be too difficult to produce a dot file for graphviz from osc buildinfo output, but if it already exists I'd better not reinvent the wheel.
mkdiststats¹ has some bits. AFAIK obs unfortunately still only returns the transitive closure of all dependencies. Ie the build info says "x depends on y and z" but that could also mean x actually only explictly depends on y but y in turn depends on z.
Example of a possible analyis: http://www.suse.de/~lnussel/mumble.pdf The number in the node is the theoretical time in hours it took in the simulation until the package finished after a full rebuild got triggered. The blue edges are the longest path. Ie that's what keeps the package in "blocking" state the longest. The grey edges are the second longest path and the number tells the time that could be saved if the package didn't depend on package where the blue edge points to. As you can see in the graph there is a huge cycle involving Mesa that blocks several packages for about 10 hours. There are still some 'wrong' edges. For example colord doesn't actually depend on net-snmp. That's dependency of sane-backends only. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (4)
-
Adrian Schröter
-
Jan Engelhardt
-
Ludwig Nussel
-
Uwe Geuder