Suggests vs. Recommends
the latest message on debian-devel-announce made me rethink my decision
for the dependencies for my package 'packagesearch'.
Having read the policy again and again and also through the recent
debian-devel thread , I am not sure whether to use *Recommends* or
'packagesearch' is a package which uses a plugin architecture. Each
plugin provides a way to search for packages, e.g. doing a full text
search, searching by filenames or orphaned packages. All plugins are
shipped together with the main application in a single package. However,
most of the plugins require some additional packages to work (e.g.
apt-file or deborphan). If the packages are not available, the plugin
will detect that, inform the user how he could install the package and
Now the first question is quite general:
* a plugin architecture package (which provides merely the
framework for additional functionality) without any additional
is useless by itself so it requires at least one plugin.
According to the policy wording this should qualify for a
'The *Depends* field should be used if the depended-on package
is required for the depending package to provide a significant
amount of functionality.' (for convenience I have appended the
description of Depends, Recommends and Suggests at the end of
* Each plugin provides a certain amount of functionality (usually
one or more features)
I am not sure if this qualifies for Suggests or Recommends
As for 'packagesearch', even if no additional package is installed,
there is always the full text search available - so the package by
itself is useful. Thus there is no need to *Depends:* on deborphan or
apt-file. Also, I could imagine a 'usual' installation (compare
[2#Recommends]) without those packages installed, so this would hint for
So, is this a case for a *Suggests* (instead of *Recommends* as it is
This declares an absolute dependency. A package will not be
configured unless all of the packages listed in its Depends
field have been correctly configured.
The Depends field should be used if the depended-on package is
required for the depending package to provide a significant
amount of functionality.
The Depends field should also be used if the postinst, prerm or
postrm scripts require the package to be present in order to
run. Note, however, that the postrm cannot rely on any
non-essential packages to be present during the purge phase.
This declares a strong, but not absolute, dependency.
The Recommends field should list packages that would be found
together with this one in all but unusual installations.
This is used to declare that one package may be more useful with
one or more others. Using this field tells the packaging system
and the user that the listed packages are related to this one
and can perhaps enhance its usefulness, but that installing this
one without them is perfectly reasonable.
Please do not send any email to firstname.lastname@example.org -- all email not
originating from the mailing list will be deleted. Use the reply to