COINST(1) | General Commands Manual | COINST(1) |
Coinst - computes the co-installability kernel of a package repostory
coinst [options]
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:
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
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.
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
Coinst has been written by Jérome Vouillôn. This manpage has been compiled by Ralf Treinen from the original coinst documentation.
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.