Provided by: debtree_1.0.10_all bug

NAME

       debtree - show relationships between packages

SYNOPSIS

       debtree [options] package

DESCRIPTION

       Generates dependency graphs (in `dot' syntax) for the specified package.  The output is written to STDOUT
       and can be used as input for the command dot(1) from the package `graphviz'.

       Dependency graphs will by default show (pre-)dependencies, recommended packages,  unversioned  conflicts,
       and  virtual packages provided by the requested package. Optionally also suggested packages and versioned
       conflicts can be included.

       Besides graphs showing regular dependencies,  debtree  can  also  generate  graphs  showing  the  reverse
       dependencies of and the build dependencies for a package.

   Dependency types
       The  type  of  dependency  between  packages  is  by  line type and the color of the arrow indicating the
       dependency:
           Build-Depends:           dark gold, bold
           Build-Depends-Indep:     light gold
           Pre-Depends:             purple, bold
           Depends:                 blue
           Recommends:              black
           Suggests:                black, dotted
           Conflicts:               red
           Provides:                green, inverted arrow

       By default the version requirements for versioned dependencies and conflicts will be shown alongside  the
       arrow.

   Alternative dependencies
       Alternative  dependencies  will  be shown within a single node (a rectangular shape with horizontal lines
       separating the packages).

       An alternative dependency will be indicated by a single arrow, unless one or more of the dependencies are
       versioned. In that case a separate arrow (ending at the relevant package) showing the version requirement
       is drawn. Arrows for dependencies on a package in a set of alternatives will  originate  at  the  correct
       package in the set, though in some cases this may be on the separation line between two alternatives.

       If  a package included in an alternative dependency also needs to be displayed separately or is also part
       of some other alternative dependency set, its dependencies will only be included once, with the package's
       first  occurrence.   For the secondary occurences the package name will be shown between square brackets:
       `[...]'.

       See also the --show-installed option below.

   Virtual packages
       Virtual packages will be shown as an octagonal shape with a  green  inverted  arrow  from  the  providing
       package(s).

       If  only  a  single  package  provides  the  virtual package, this package (and its dependencies) will be
       displayed in the graph.

       If there are multiple packages that provide the virtual package, they will be shown within a single  node
       with  rounded  corners  but  only  if there are less than three (or the number set by the --max-providers
       option).  If there are more than that number, this will be indicated by an ellipsis (`...') in the  node;
       no  individual  packages  will  be  shown but the number of providing packages is indicated alongside the
       arrow.  Dependencies of the providing packages will not be shown.

       A regular dependency graph will by default also show any  virtual  packages  provided  by  the  requested
       binary package.

   Unknown packages
       Packages  that  are  listed as dependency, but that are unknown in the package database will be displayed
       with a reddish shade. In the case of alternative dependencies, the package name  will  be  shown  between
       question marks: `?...?'.

   Package versions
       If  multiple  versions  of  a package are available, the dependency information for the highest available
       version will be used, with one exception. If the --show-installed option is used, the  installed  version
       will be used for packages that are installed on the system.

   Managing graph size and complexity
       debtree  offers several mechanisms to help reduce the size of dependency graphs of packages with large or
       complex dependency trees. The first mechanism is to limit what types of dependencies  are  included,  for
       example  excluding  Recommended  or  Conflicting  packages  from  the  graph. The second mechanism is the
       configuration of lists of skip and end packages; see the section CONFIGURATION  below  for  details.  The
       last mechanism is to place a hard limit on the depth of the dependency tree.

       It  is not possible to include the dependencies of suggested packages. Doing so would in almost all cases
       result in an explosion of the size of graphs.

       For some packages it is unfortunately almost impossible to generate a usable dependency graph due to  the
       number  of dependencies they have. This is often the case for meta packages, for example those for KDE or
       GNOME.

OPTIONS

       This program follows the usual GNU command line syntax, with long options starting with two dashes (`-').
       An overview of supported options is included below.

       --show-installed, -I
              Show which packages are installed on the system.

              The  nodes  for  packages  which  are  installed  on  the  system will be colored light green. For
              alternative dependencies, only installed packages  will  be  included  (an  ellipsis  is  used  to
              indicate omitted alternatives); for unsatisfied alternative dependencies, all alternatives will be
              included.

       --show-rdeps, -R
              Also show reverse dependencies of the package and any virtual packages it provides.

              Reverse dependencies that are not installed will be colored light  yellow;  installed  ones  light
              blue. Displaying reverse dependencies of type Suggests is not supported.

              Use  of  the  option --show-installed in combination with this option is recommended. See also the
              options --rdeps-depth and --max-rdeps.  This option is ignored if --build-dep is also specified.

       --build-dep, -b
              Show build dependencies instead of package dependencies.

              Suggested packages will never be included in a build dependency graph.  If there  are  alternative
              packages to satisfy a dependency, normally only the first alternative will be shown. However, when
              used in combination with the --show-installed option, all already installed alternatives  will  be
              included for satisfied dependencies (unless the --no-alternatives option is also given).

       --arch=architecture
              Specify the architecture (or `all') for the build dependency graph. If the option --buildep option
              is not present, this option will be ignored.  Default is the architecture of the system  on  which
              the command is being run.

              If  architecture  `all'  is  specified,  all  build  dependencies  will  be  shown.   If any build
              dependencies have `architecture conditions', those will be displayed in a graph.

              If an architecture is specified (including the default), only build dependencies that are relevant
              for that architecture will be shown; build dependencies for other architectures will be ignored.

       --with-suggests, -S
              Include suggested packages; dependencies of suggested packages are never included.

       --no-recommends
              Don't show recommended packages.

              This option will be ignored if used in combination with the --with-suggests option.

       --no-alternatives
              Only  show  the  first package from a set of alternative dependencies. Effectively this shows what
              package would be installed by default (in most cases).

       --no-provides
              Don't show virtual packages provided by the requested package.

       --max-providers=number
              When there are multiple packages providing a virtual package, only show the providing packages  if
              there are less than this number. Default is 3.

       --no-versions
              Don't show the versions for versioned dependencies.

       --no-conflicts
              Don't show unversioned conflicts.

       --versioned-conflicts, -VC
              Include versioned conflicts; by default only unversioned conflicts are shown.

              This option will be ignored if used in combination with the --no-conflicts option.

       --max-depth=number
              Limit the number of levels of dependencies that is traversed.

              This  option  sets  a  limit  to  the  number  of  levels  debtree  will  recurse when determining
              dependencies. Packages at the specified level  will  be  treated  as  end  packages  (see  section
              CONFIGURATION below).

              The option can be used both to reduce the size of graphs.

       --rdeps-depth=number
              The maximum number of levels for reverse dependencies.

              By  default  only  one  level  is  displayed.  Use  this  option  to display more levels.  Implies
              --show-rdeps.

       --max-rdeps=number
              Limit the display of indirect reverse dependencies.

              When displaying multiple levels of reverse dependencies, a reverse dependency that  itself  has  a
              lot  of  reverse  dependencies  can really explode the graph.  By default up to 5 indirect reverse
              dependencies are shown individually.

       --no-skip
              Also display dependencies that are suppressed by default (e.g. libc6).

              When selected,  skip  packages  will  be  treated  as  end  packages  instead.   This  means  that
              dependencies that by default are not included in graphs, will now be shown, but their dependencies
              will not. See also the section CONFIGURATION below.

       --show-all
              Display the full dependency tree.

              When selected, all default limits in the form of end and  skip packages are disabled and the  full
              dependency graph for the package will be generated. See also the section CONFIGURATION below.

              This  option  implies  the  --no-skip  option, but can be used in combination with the --max-depth
              option. Note that this option does not affect the types of dependencies that are included.

       --rotate, -r
              Draw the graph top-town instead of left-to-right.

       --condense
              Activates an option of dot(1) that can help reduce the clutter in dense  graphs  by  concentrating
              lines  (relationships) between packages together for parts of their paths.

       --quiet, -q
              Suppress any informational/warning messages.

       --verbose, -v
              Increase verbosity.

              Displays additional informational and debug messages; can be repeated up to three times.

CONFIGURATION

       debtree  can  be configured to limit the size and complexity of dependency graphs. This is done using two
       lists:

       /etc/debtree/skiplist, ~/.debtree/skiplist
              List of skip packages. Packages included in this list are completely  excluded  from  graphs.  The
              list  should  only  contain  dependencies  that  are  so common that including them in graphs only
              clutters the graph and does not really add any information. Examples are libc6 and zlib1g.  If  an
              alternative  dependency  contains  only  skip packages it will be omitted; if it contains a mix of
              skip and non-skip packages, the presence of the skip packages will  be  shown  using  an  ellipsis
              ('...').

       /etc/debtree/endlist, ~/.debtree/endlist
              List  of  end  packages.  Packages  included  in  this  list  are  shown  in  the graph, but their
              dependencies will not be shown. A diamond shape is used to indicate an end package; in the case of
              alternative dependencies, the package name will be shown between braces: `{...}'.

              Preferably  only  packages  that  offer a functionality that is somewhat distinct from its reverse
              dependencies should be included in this list. In some cases it may be necessary  to  also  include
              packages because their dependency tree is just too big or complex.

       If  a list is present under the HOME directory of the user, that file will be used instead of the default
       file in /etc/debtree/.

       See also the options --no-skip, --show-all and --max-depth.

EXAMPLES

       Below are some basic usage examples for debtree.  For more extensive examples of  graphs  and  additional
       information, please see the debtree website: http://collab-maint.alioth.debian.org/debtree.

       $ debtree dpkg >dpkg.dot
              Generate the dependency graph for package dpkg and save the output to a file `dpkg.dot'.

       $ dot -Tsvg -o dpkg.svg dpkg.dot
              Use dot(1) to generate an SVG image from the `.dot' file.

       $ debtree dpkg | dot -Tpng >dpkg.png
              Generate  the  dependency  graph  for package dpkg as PNG image and save the resulting output to a
              file.

       $ debtree -b dpkg | dot -Tps | kghostview - &
              Generate the build dependency graph for package dpkg in postscript  format  and  view  the  result
              using KDE's kghostview(1).

SEE ALSO

       dot(1).  prune(1).  gvpr(1).

AUTHOR

       Frans Pop <elendil@planet.nl>.