Ever wondered whether you are missing a functionality of a program because some Recommended package is missing on your system, because at some point it was not useful?
With the Recommends now being installed by default, but not always, apt-get and aptitude use heuristics to know whether or not a recommended package should be installed (as far as I know, it is not if it should already be there by virtue of some Recommends, but is not). But, at some point, it would be good to be able to review the missing packages that you refused at some point (for some reason that may not apply any more). Also, when forcing installation, you can sometimes miss some dependencies on your package. Even if aptitude is able to list the problems for the second question (aptitude search ~i~b is roughly ok), the first one is not doable (aptitude search patterns cannot distinguish between an or clause of several dependencies and independent dependencies).
I wrote (still in python with python-apt ≥ 0.7.93, so in unstable at the moment) a program named apt-missing.
Only positive dependencies types are considered (Pre-Depends, Depends, Recommends, Suggests and possibly Enhances). Negative dependencies will possibly be added later, but it is the presence of a dependency item in a clause that should trigger a warning, not the absence of all of them.
The program is hosted there, and the packages are available here.
Examples
Running apt-missing with no args is like doing apt-missing --recommends:# Package abiword has some Recommends missing:Interestingly, this pushed me to delete old module packages recommending no-more installed kernel images. Also apt-missing -a looks for all positive unsatisfied dependencies:
abiword-docs
# Package defoma has some Recommends missing:
libfont-freetype-perl
# Package doc-debian-fr has some Recommends missing:
developers-reference-fr
maint-guide-fr
apt-howto-fr
# Package dwww has some Recommends missing:
swish++
[...]
# Package xchat has some Recommends missing:
tcl
## "Depends" broken in 0 packages
## "Pre-Depends" broken in 0 packages
## "Recommends" broken in 31 packages
# Package a2ps has some Suggests missing:
html2ps
t1-cyrillic
# Package abiword has some Recommends missing:
abiword-docs
[...]
## "Depends" broken in 0 packages
## "Pre-Depends" broken in 0 packages
## "Recommends" broken in 31 packages
## "Suggests" broken in 377 packages
Options
- -h|--help
- This help text
- -d|--depends
- Missing Depends or Pre-Depends
- -r|--recommends
- Missing Recommends (default)
- -s|--suggests
- Missing Suggests
- -a|--any
- Missing positive dependency (as above)
- -t|--type=string
- Arbitrary dependency type (e.g. Enhances)
- -p|--package=string
- List of packages (all if none given)