[Buildroot] [PATCH] core/graph-depends: add option to graph reverse dependencies

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Oct 25 21:04:34 UTC 2016


Hello,

On Sun, 23 Oct 2016 19:19:44 +0200, Yann E. MORIN wrote:
> Now that we can dump the reverse dependencies of a package, add the
> ability to graph those.
> 
> It does not make sense to do a full reverse graph, as it would be
> semantically equivalent to the direct graph. So we only provide a
> per-package reverse graph.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Arnout Vandecappelle <arnout at mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>  Makefile                      |  3 ++-
>  package/pkg-generic.mk        | 21 ++++++++++++++-------
>  support/scripts/graph-depends | 18 ++++++++++++++++--
>  3 files changed, 32 insertions(+), 10 deletions(-)

I've applied, thanks. However, our logic that gets rid of "redundant"
dependencies also has the consequence of creating some graphs that are
quite weird.

I tested a configuration where I enabled python and libglib2, both of
which depend on libffi. When you do:

$ make libffi-show-rdepends

You get as expected "libglib2 python"

However, when you do

$ make libffi-graph-rdepends

The resulting graph is a bit weird. You would expect something like
this:

           libffi
       ------/ \------
       |             |
    libglib2       python

But instead, what you get is:

  libffi
    /\
    ||
   python
    /\
    ||
 util-linux
    /\
    ||
  libglib2

Because indeed libglib2 depends on util-linux, and util-linux can
optionally build python bindings and therefore depend on python.

Not sure what we can do about this: keeping all dependencies was really
creating huge and unreadable graphs.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list