[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 [1], 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
disable itself.

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
        the email)
      * 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
decclared now)?
Regards Ben

[1] http://lists.debian.org/debian-devel/2007/08/msg00043.html

        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 ben-ml@gmx.net -- all email not
originating from the mailing list will be deleted. Use the reply to
address instead.

Reply to: