Features Download
From: Gergely Nagy <algernon <at> balabit.hu>
Subject: Re: Recommends for metapackages
Newsgroups: gmane.linux.debian.devel.general
Date: Thursday 12th July 2012 09:06:40 UTC (over 5 years ago)
Steve McIntyre  writes:

> Gergely wrote:
>>Henrique de Moraes Holschuh  writes:
>>> IMO, metapackages should "depend" on the absolutely required stuff (and
>>> times that will be the empty set), "recommend" the rest, and maybe even
>>> "suggest" fringe packages.  This achieves maximum usability for more
>>> usecases, and malfunctions only in the unsupported case of "no install
>>> recommends by default" -- you should skip recommends always in a
>>> case-by-case basis.
>>That also achives maximum annoyance, because if I want the full
>>platform, I'll have to go recommends/suggest hunting. (No, I'm *not*
>>going to turn on install-recommends.)
> Right. So you're arguing that all the packages should be listed as
> Depends: to make *your* life easier, when you're doing something
> different from what's recommended. Thanks for showing how much weight
> we should attach to your argument.

It's a meta-package, that pulls in a platform. If I install it, I want
the full platform, always. That's about it. If I install mono-complete,
I want the whole bloody thing, always. If I install kde-full, I want the
full KDE desktop, with all bells and whistles. If I install gnome, I
want the whole thing with all strings attached. That's what I consider a
meta-package's job.

If I want parts of it, I will install parts of it. Metas are a
convenience for the most common case: installing all of it.

Lets consider another case! Suppose I have Install-Recommends turned on,
and install a theoretical meta package, that has half of its stuff in
recommends, because they're not strictly necessary, but merely enhance
the system. Lets suppose one of these enhancements include a tool I use
every once in a while, but not daily.

Now, a few months later, a transition comes about, and this package I
have gets removed, because another thing I update
breaks/conflicts/whatevers it. Since it's a recommends only, my package
manager will most likely want to remove it.

I now have two options: I either notice this, and stop the upgrade, or I
don't and poof, part of the platform's gone. I installed the full thing,
and lost part of it. I'm not happy.

As for why I wouldn't notice? Because I trust the system to do the right
thing, and I do automatic, unattended upgrades. Not an uncommon thing to
do, I believe.

But with recommends, the system failed me here, and removed part of the
platform that I *explicitly* installed.

And I had Install-Recommends turned on.

Thank you, I'd rather have Depends, and a reliable way to keep the full
platform on my system. Would I want to remove parts of it, I already
have the power to do that with the status quo. I can even keep up with
the meta package easily, if I choose to do so.

I don't know about you, but I prefer my systems reliable and I
absolutely hate when it wants to screw me over and try to remove parts
of stuff I explicitly asked it to install.

CD: 3ms