[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Slightly OT, graphing package dependencies



On Mon, Mar 26, 2001 at 05:09:15PM +0200, Arthur Korn wrote:
> Branden Robinson schrieb:
> > * the part of a package with X-specific components must have a priority no
> >   higher than the packages on which it depends (including any X packages);
> > * an X-dependent alternative version of a package must have a priority no
> >   higher than the packages on which it depends (including any X packages).
> 
> Now if only apt could automatically install the
> X11-enabled/dependent parts if X11 is installed.
> 
> Or *-<subarch> packages where available and appropriate (even in
> the face of the current libc issues ...).
> 
> More such cases are *-<desktop_environment>, *-<language>,
> *-<sound_output_method> and so on.
> 
> <braindump>
> Well, the "Enhances" dependency header exists, but the packaging
> tools don't seem to use it.
> 
> It would be a _giant_ leap forward if we found some more or less
> automatic way to act on these fields, admittedly that's pretty
> hard because of the "fuzzy" nature of those dependencies (and
> the size of the graph that would result if one read all
> dependency info for all packages).
> </braindump>
> 
Slightly OT here, but..

Check out apt-cache dotty. From apt-cache(8):

dotty  takes a list of packages on the command line
and gernerates output suitable  for  use  by  dotty
from the GraphVis <URL:http://www.research.att.com/sw/tools/graphviz/>
package.  The result  will  be a set of nodes and edges representing
the relationships between the packages. By default the given packages
will trace out all dependent packages which can produce a very large
graph.
This can be turned off by setting the APT::Cache::GivenOnly option. The
resulting nodes will have several shapse normal packages are boxes, pure
provides are triangles, mixed provides are diamonds, hexagons are
missing packages. Orange boxes mean recursion was stopped [leaf
packages], blue lines are prre- depends, green lines are conflicts.
Caution, dotty cannot graph larger sets of packages.



Reply to: