[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