All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] cooker: Drop package-depends.dot and pn-depends.dot generation
@ 2017-01-25 11:05 Peter Kjellerstedt
  2017-01-25 11:12 ` Richard Purdie
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Kjellerstedt @ 2017-01-25 11:05 UTC (permalink / raw)
  To: Richard Purdie, bitbake-devel@lists.openembedded.org

> -----Original Message-----
> From: bitbake-devel-bounces@lists.openembedded.org [mailto:bitbake-
> devel-bounces@lists.openembedded.org] On Behalf Of Richard Purdie
> Sent: den 23 januari 2017 23:38
> To: bitbake-devel@lists.openembedded.org
> Subject: [bitbake-devel] [PATCH] cooker: Drop package-depends.dot and
> pn-depends.dot generation
> 
> A long time ago when we switched to task basked execution we added
> task-depends.dot and generated package-depends.dot and pn-depends.dot
> for compatibility as best we could.	
> 
> The problem is they contain partial data about the taskgraph, its
> incomplete and tends to confuse users.
> 
> I propose we remove the two compatibilty outputs and just generate
> the one which contains definitive data.
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Is there any alternative to removing package-depends.dot and 
especially pn-depends.dot? The reason I ask is because we use 
pn-dependes.dot when visualizing the dependencies between packages. 
Even though task-depends.dot is more complete, trying to render it 
is near impossible given the sheer number of nodes and edges it 
contains. Already visualizing pn-depends.dot is hard but possible 
with some gvpr and tred filtering. Here are some statistics from 
one of my typical builds:

                        Nodes  Edges
                        -----  ------
pn-depends.dot           1183   12087
package-depends.dot      5939   55615
task-depends.dot        13756  125870

As can be seen, the number of nodes and edges in task-depends.dot 
is a magnitude greater than in pn-depends.dot.

//Peter



^ permalink raw reply	[flat|nested] 7+ messages in thread
* [PATCH] cooker: Drop package-depends.dot and pn-depends.dot generation
@ 2017-01-23 22:38 Richard Purdie
  0 siblings, 0 replies; 7+ messages in thread
From: Richard Purdie @ 2017-01-23 22:38 UTC (permalink / raw)
  To: bitbake-devel

A long time ago when we switched to task basked execution we added
task-depends.dot and generated package-depends.dot and pn-depends.dot
for compatibility as best we could.

The problem is they contain partial data about the taskgraph, its
incomplete and tends to confuse users.

I propose we remove the two compatibilty outputs and just generate
the one which contains definitive data.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/cooker.py | 43 -------------------------------------------
 1 file changed, 43 deletions(-)

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 80007c5..e654a60 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -949,49 +949,6 @@ class BBCooker:
 
         depgraph = self.generateTaskDepTreeData(pkgs_to_build, task)
 
-        # Prints a flattened form of package-depends below where subpackages of a package are merged into the main pn
-        depends_file = open('pn-depends.dot', 'w' )
-        buildlist_file = open('pn-buildlist', 'w' )
-        print("digraph depends {", file=depends_file)
-        for pn in depgraph["pn"]:
-            fn = depgraph["pn"][pn]["filename"]
-            version = depgraph["pn"][pn]["version"]
-            print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file)
-            print("%s" % pn, file=buildlist_file)
-        buildlist_file.close()
-        logger.info("PN build list saved to 'pn-buildlist'")
-        for pn in depgraph["depends"]:
-            for depend in depgraph["depends"][pn]:
-                print('"%s" -> "%s" [style=solid]' % (pn, depend), file=depends_file)
-        for pn in depgraph["rdepends-pn"]:
-            for rdepend in depgraph["rdepends-pn"][pn]:
-                print('"%s" -> "%s" [style=dashed]' % (pn, rdepend), file=depends_file)
-        print("}", file=depends_file)
-        depends_file.close()
-        logger.info("PN dependencies saved to 'pn-depends.dot'")
-
-        depends_file = open('package-depends.dot', 'w' )
-        print("digraph depends {", file=depends_file)
-        for package in depgraph["packages"]:
-            pn = depgraph["packages"][package]["pn"]
-            fn = depgraph["packages"][package]["filename"]
-            version = depgraph["packages"][package]["version"]
-            if package == pn:
-                print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file)
-            else:
-                print('"%s" [label="%s(%s) %s\\n%s"]' % (package, package, pn, version, fn), file=depends_file)
-            for depend in depgraph["depends"][pn]:
-                print('"%s" -> "%s" [style=solid]' % (package, depend), file=depends_file)
-        for package in depgraph["rdepends-pkg"]:
-            for rdepend in depgraph["rdepends-pkg"][package]:
-                print('"%s" -> "%s" [style=dashed]' % (package, rdepend), file=depends_file)
-        for package in depgraph["rrecs-pkg"]:
-            for rdepend in depgraph["rrecs-pkg"][package]:
-                print('"%s" -> "%s" [style=dotted]' % (package, rdepend), file=depends_file)
-        print("}", file=depends_file)
-        depends_file.close()
-        logger.info("Package dependencies saved to 'package-depends.dot'")
-
         tdepends_file = open('task-depends.dot', 'w' )
         print("digraph depends {", file=tdepends_file)
         for task in depgraph["tdepends"]:
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-02-03 13:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-25 11:05 [PATCH] cooker: Drop package-depends.dot and pn-depends.dot generation Peter Kjellerstedt
2017-01-25 11:12 ` Richard Purdie
2017-01-25 19:17   ` Paul Eggleton
2017-01-30 10:18     ` Peter Kjellerstedt
2017-02-02 15:13       ` Peter Kjellerstedt
2017-02-03 13:18     ` Tobias Hagelborn
  -- strict thread matches above, loose matches on Subject: below --
2017-01-23 22:38 Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.