Provided by: coinst_1.9.1-1_amd64 bug

NAME

       Coinst - computes the co-installability kernel of a package repostory

SYNOPSIS

       coinst [options]

DESCRIPTION

       coinst  reads a package repository in debian format or RPM format from standard input, and
       computes the co-installability kernel of the repository (see  below).  The  graph  of  the
       kernel is written in dot format to a file, and a diagnostic is written to standard output.
       This diagnostic consists by default of:

         - the list of equivalence classes of packages

         - the list of non-installable packages

         - the list of not co-installable pairs of packages

CO-INSTALLABILITY KERNELS

       A set of packages is called co-installable with respect to a repository R  if  it  can  be
       extended  to  a  set  of  packages  from  R  that  satisfies  all  inter-package relations
       (dependencies, conflicts, etc.). In particular, a package p is installable if the set  {p}
       consisting of p only is co-installable.

       This  tool  reduces  a repository R to a much smaller one, its so-called co-installability
       kernel R', that behaves exactly the  same  as  far  as  co-installability  of  package  is
       concerned: Any set of packages P is co-installable with respect to P iff it co-installable
       with respect to R'. This is achieved by

         - dropping all  relations  that  are  not  relevant  for  this  purpose.  For  instance,
           dependencies that do not lead directly or indirectly to any conflicts are dropped.

         - identifying  all packages that behave the same. For instance, packages that are not in
           conflict with any other package (even not through dependency chains) behave  the  same
           since  they are co-installable together with any other co-installable set of packages,
           and packages that are not installable at all behave the same since they may  never  be
           part of any co-installable set of packages.

       A  more  precise explanation can be found in the original research article underlying this
       tool.

       The interest of computing the kernel is that it is typically orders of  magnitude  smaller
       than the original repository.

OPTIONS

   Options controlling the input
       -deb   expect input in the format of a debian Packages file (default).

       -rpm   expect input in the format of an RPM hdlist.cz file.

       -ignore package
              ignore the package named package.

   Options controlling the graph output
       -o file
              write the graph to file instead of graph.dot

       -all   include all packages in the coinstallability graph

       -root p
              draw only the relevant portion of the graph around package p.

   Options controlling the diagnostic output
       -explain
              explain the list of non-installable pairs of packages.

       -stats show statistics regarding the input and output repositories

   Miscellaneous options
       -help, --help
              show command synopsis

EXAMPLE

       Reduce a current debian Packages file to its kernel:

          coinst -all -o raw.dot < sid_main_binary-amd64_Packages

       Layout the graph:

          dot raw.dot -o layout.dot:

       View the graph with dotty, or the viewer from the coinst_viewer package:

          dotty layout.dot
          coinst_viewer layout.dot

AUTHOR

       Coinst  has  been  written  by  Jérome  Vouillôn.   This manpage has been compiled by Ralf
       Treinen from the original coinst documentation.

SEE ALSO

       dot(1),dotty(1),coinst_viewer(1)
       http://coinst.irill.org
       The original research article decribing the algorithm behind this tool is Roberto Di Cosmo
       and  Jérôme  Vouillon, On software component co-installability, 19th ACM SIGSOFT Symposium
       on the Foundations of Software Engineering (FSE-19) and ESEC'11:  13rd  European  Software
       Engineering Conference (ESEC-13), Szeged, Hungary, September 5-9, 2011, pages 256-266.

                                                                                        COINST(1)