support/graph-depends: don't eliminate mandatory deps for reverse graphs
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 22 Mar 2019 21:07:06 +0000 (22:07 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 25 Mar 2019 18:29:11 +0000 (19:29 +0100)
commit893dde0102af0718fec3f02d81ef205ba2fbe23f
tree1b086db0a7a0cab25aaeea4bafa04fd2fad48699
parentad89bffed50bc5de4ebf357f2e9a66133c8a7a7f
support/graph-depends: don't eliminate mandatory deps for reverse graphs

We we simplify the dependency graph, we try to remove so-called
mandatory dependencies from each package, and for each mandatory that
was thus removed, reattach it to the root-package of the graph.

This was made so that mandatory dependencies (which are dependencies of
all packages, or at least of a lot of packages) do not clutter the
dependency graph, but that they are still shown in the graph, as
dependencies of the root package.

However, these mandatory dependencies are only _direct_ dependencies.
As such, it does not make sense to reattach a mandatory dependency when
doing a reverse graph. Worse, it can actually be incorrect.

For example, 'skeleton' is a mandatory dependency, and as such is
removed from all packages. But when doing a reverse graph, skeleton is
now in the dependency chain of, e.g. skeleton-init-none; it should then
not be removed.

In short: the notion of mandatory dependencies does not make sense in
the case of a reverse graph.

Consequently, skip over the mandatory dependency removal when doing a
reverse graph.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
support/scripts/graph-depends