[Bug 1828220] Re: apt-get --install-suggests applied recursively
Julian Andres Klode
julian.klode at canonical.com
Wed May 8 13:59:35 UTC 2019
It does precisely what it says it does.
--install-suggests
Consider suggested packages as a dependency for installing. Configuration Item: APT::Install-Suggests.
** Changed in: apt (Ubuntu)
Status: New => Opinion
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1828220
Title:
apt-get --install-suggests applied recursively
Status in apt package in Ubuntu:
Opinion
Bug description:
In a blatent violation of the principal of least surprise, --install-
suggests installs packages that are in the suggested packages for
packages that are not listed on the command line. It installs
suggested packages for other packages deep in the dependency
hierarchy.
Do not type this command except on an expendable (virtual) machine:
sudo apt-get --install-suggests install -y geda geda-utils geda-examples kicad kicad-doc-en librecad oregano qelectrotech xcircuit gerbv pcb pcb-gtk pcb-common pcb-rnd pcb2gcode visolate caneda fritzing
In this case, something installed clang which depends on clang-6.0. clang-6.0 very foolishly suggested gnustep which, since apt inappropriately applied --installed-suggests many layers down the dependency tree, then installed the entire gnustep suite of applications. Gnustep, after several more layers of inappropriate suggestsions, caused roaraudio to be installed which caused errors on every apt-get install command.
aptitude why roaraudio
i clang Depends clang-6.0 (>= 6.0~)
i A clang-6.0 Suggests gnustep
i A gnustep Suggests mpdcon.app
i A mpdcon.app Suggests mpd
i A mpd Depends libroar2
i A libroar2 Suggests libmuroar0
i A libmuroar0 Suggests roaraudio | muroard
clang later gets installed explicitly, so I cant trace the specific
path back to the CAD packages that were installed but clang-6.0 and
roaraudio are first installed after the listed apt-get command above.
Which ultimately installs 2675 packages. Tracing forward with
debtree --with-suggests also doesn't make it clear why clang was
installed but debtree doesn't include dependencies of recommended
packages.
The actual recommends of these packages listed on the apt-get command were rather modest:
Recommends: geda-gsymcheck, geda-gattrib
Recommends: geda
Recommends: xsltproc
Recommends: gnucap
Recommends: qelectrotech-examples (= 1:0.5-2), qelectrotech-data (= 1:0.5-2), qttranslations5-l10n
Recommends: extra-xdg-menus
Recommends: extra-xdg-menus
The following command suggests that a single package, geda, is sufficient to reproduce the bug.
apt-rdepends --follow=Depends,PreDepends,Suggests,Recommends geda | fgrep -i clang
It also shows that adding Suggests blows up the dependency tree from 664 lines of dependency info to 49965 lines corresponding to 5865 unique packages vs 173.
clang traces back to i18nspector (through python), though it isn't
clear why that was needed. It may trace baqck to check-all-the-things
and from ther to devscripts but for some reason that isn't included in
the apt-rdepends output. debmake, gem2deb, git-buildpackage,
javahelper, duck, devscripts-el, svn-buildpackage, and mozzila-
devscipts all depend on devscripts. Like many dependencies that
should not have been followed, check-all-the-things was only a
suggests.
i18nspector -> python3-rply -> python3-appdirs -> clang/clang-6.0
This debacle left me with about 6368 packages installed and about 20GB
of extra disk space wasted compared to running a fairly similar set of
many apt-get commands, without selectively including --install-
recommends on a few, on another machine. And ultimately, it appears
will be necessary to completely reinstall this computer from scratch
to undo the damage. In total, there were only about 50 packages
included in "Suggests" without recursion.
Not only does --install-suggests behave incorrectly but the man page
fails to document this destructive behavior.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: apt 1.6.10
ProcVersionSignature: Ubuntu 4.18.0-18.19~18.04.1-generic 4.18.20
Uname: Linux 4.18.0-18-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Tue May 7 23:11:00 2019
InstallationDate: Installed on 2019-05-02 (5 days ago)
InstallationMedia: Ubuntu 18.04.2 LTS "Bionic Beaver" - Release amd64 (20190210)
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: apt
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1828220/+subscriptions
More information about the foundations-bugs
mailing list