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

Re: Metapackage dependencies: "Depends" or "Recommends"?



* Neil Williams <codehelp@debian.org> [150729 03:30]:
> I'd still use Depends in the metapackage. e.g. foo-server has lots of
> strict dependencies without which is simply won't install or start.
> foo-client has less dependencies and a few Recommends because the
> client can work for a range of usecases and not everyone needs every
> use case.
> 
> For those people who *do* want the assurance that every possible use
> case can work, then a foo metapackage would Depend on foo-server and
> foo-client and *all* of the Recommends of foo-client, possibly
> including even a few of the Suggests of foo-client.

For those people, don't change the default Apt::Install-Recommends and
you get the desired behavior with metapackages that use Recommends.  But
those of us who want most, but not all, of a metapackage can still get
what we want, too (with either setting of Install-Recommends).

If a metapackage uses Depends, the only way to install all but one
subpackage from the metapackage is to manually install all the desired
subpackages; but then you do not get the auto-installed behavior, so you
cannot easily remove the (non-)metapackage.  You also do not get the
benefits of updates to the contents of the metapackage.

No downside to Recommends; no upside to Depends.

Think of Recommends as "defaults to Depends, but can easily be
overridden by the user at install time".

Depends should be used when not installing the package causes functional
breakage rather than logical breakage or loss of functionality.

Recommends should be used when not installing the package makes sense if
the user is willing to put up with reduced functionality.

I think much of this debate is caused by users who set
Install-Recommends to false, but then want some of the benefits of
leaving it at the default of true.

I do set Install-Recommends to false, but I understand the trade-off I
am making.  I mostly use the aptitude curses interface, and I take a
little more time to go through the list of Recommended packages to
select the ones I want before pressing g a second time.  And yes, I do
mark those packages as automatically installed.

Using Recommends allows the user to choose which side of the trade-off
to be on.  Using Depends forces the "install everything, no opportunity
to spend a few extra seconds to choose what you want" on everybody.

...Marvin


Reply to: