Re: Installation of suggested packages: recursive or not?
On Thu, Mar 20, 2008 at 12:38:17PM +0900, Charles Plessy <email@example.com> was heard to say:
> Le Wed, Mar 19, 2008 at 02:05:05PM -0400, Joe Smith a écrit :
> > >On Wed, 19 Mar 2008, Don Armstrong wrote:
> > >>
> > >>apt-get -o APT::Install-Suggests=true install foo; or similar.
> > I will say the following. I fully agree that "--install-suggests" should
> > exist, and should do the right thing.
> Hi all,
> I was about to submit a wishlist bug, and then wondererd: isn't '-o
> APT::Install-Suggests=true' recursive? (In the sense that it will also
> add the suggested packages from the suggested packages.) The
> --install-suggests I have in my mind is not: the user cases would be
> with our CDD metapackages, that either Recommend or Suggest, or packages
> like t-coffee or bioperl that have a long list of suggested packages
> that are usually dispensable.
Yes, it is. That's why I yanked it from aptitude: at the time,
turning on the installation of Suggests would reliably result in huge
swathes of packages being installed for some innocuous program. This
may have changed since then.
To see (more or less) what installing Suggests will do to your system,
aptitude -s -o 'APT::Install-Suggests=true' -o 'APT::AutoRemove::SuggestsImportant=true' install '~RBsuggests:~i'
On my computer, after a pile of dependency failures, I got:
0 packages upgraded, 386 newly installed, 1 to remove and 2 not upgraded.
Need to get 505MB of archives. After unpacking 1854MB will be used.
Some people will find that acceptable, others won't.
A secondary problem is that automatic dependency removal will remove
packages whose strongest link to a manual package is a Suggests. If you
ever turn on Suggests-installation as a one-shot deal, you need to
either also mark all the suggested packages as manual, or turn on "keep
suggested packages on the system" (APT::AutoRemove::Suggests-Important).
BTW, aptitude already supports non-recursively installing Suggests, and
flagging them as manual at the same time: "~Rsuggests:^package$" will
install everything that's directly suggested by "package".