Man Linux: Main Page and Category List

NAME

       Edos-debcheck - Check satisfiability of Debian package dependencies

SYNOPSIS

       edos-debcheck [option] ... [package] ...

DESCRIPTION

       edos-debcheck  reads  from  standard  input  a  set  of  Debian package
       descriptions, each of which is in the  format  of  deb-control(5).  For
       instance,  the Packages files as found on a Debian mirror server, or in
       the directory /var/lib/apt/lists/ of a Debian system, are  suitable  as
       input to edos-debcheck.

       Packages  may  appear with multiple versions in this set. We say that a
       package is identified in this set by the pair consisting of the package
       name and of the package version.

       A  package (called goal) is called installable with respect to a set of
       packages if there exists a subset of the packages that
        - contains at most one version for each package name
        - contains the goal package (in any version, or a specific version)
        - all packages of the subset have  their  dependencies  and  conflicts
       satisfied  in  this  subset.  Pre-depends are treated like Depends, and
       Breaks are treated like Conflicts.

       Debcheck checks whether every package given as argument is  installable
       with  respect  to  the  input set of packages. Specific versions can be
       specified by following the package name  with  the  sign  '='  and  the
       version  of  the  package  (for  instance, 'xemacs21=21.4.17-1'). If no
       package name is given as argument then all packages of  the  input  set
       are checked for satisfiability.

       The  constraint  solving  algorithm  is  complete,  that  is it finds a
       solution whenever there  exists  one,  even  for  multiple  disjunctive
       dependencies    and   deep   package   conflicts.   This   problem   is
       computationally infeasible in theory (that is, NP-complete), but can in
       practice  be  solved  very  efficiently  for  Packages  files occurring
       actually in Debian.

OPTIONS

       -i file
              Specify an additional input  file  containing  stanzas  in  deb-
              control(5)    format.     These   packages   are   checked   for
              installability the same  way  as  packages  read  from  standard
              input.

       -I file
              Specify  an  additional  input  file  containing stanzas in deb-
              control(5) format.  These packages  that  are  not  checked  for
              installability but only used for resolving dependencies.

       -explain
              Explain the results

       -rules Print generated rules

       -failures
              Only show failures

       -successes
              Only show successes

       -checkonly list
              where  list  is  a comma-separated list of package names.  Check
              only for installability of packages with name in  list  (of  any
              available  version). This means that if a package does not exist
              in the input pool then the  test  passes  (since  all  available
              versions  are  in  that case installable). However, a warning is
              issued in case a package mentionend in list is not available.

              In the context of this option,  a  package  of  the  form  src:p
              expands  to  the  list of all packages that stem from the source
              package p.

       -quiet Supress warnings and progress/timing messages

       -xml   Output results in XML format

       -help, --help
              Display this list of options

EXIT CODE

       The exit code is 0 when all packages that  were  asked  to  be  checked
       (either explicitly with the -checkonly option, or because they exist in
       the package pool file) are available and found to be installable, it is
       1  when a least one of these packages is available but not installable,
       and it is 2 when at least one of the packages is not available but  all
       available  packages are found to be installable. Hence, the exit code 2
       can occur only when the -checkonly option is used.

EXAMPLE

       Check which packages in a particular distribution are  not  installable
       and why:

         edos-debcheck -failures -explain < Packages

       where  Packages  is  the  file  pertaining to that distribution, as for
       instance found in the directory   /var/lib/apt/lists.

       Check whether the xemacs21 and debhelper packages are installable in  a
       distribution described by the file Packages:

         edos-debcheck -explain -checkonly xemacs21,debhelper < Packages

       Check whether the package bibtex2html, and all binary packages stemming
       from the ocaml source package, are installable

        edos-debcheck -explain -checkonly bibtex2html,src:ocaml < Packages

AUTHOR

       Edos-debcheck has been written by Jerome Vouillon for the EDOS project.
       This man-page has been compiled by Ralf Treinen.

SEE ALSO

       deb-control(5)

       <http://www.edos-project.org> is the home page of the EDOS project.

       edos-rpmcheck(1) is the analogous tool for rpm packages.