On 2018-07-10 at 06:55, sgarrulo wrote: > Hello everyone! > I had an installation of debian stable (stretch) which was fully > upgraded something like a couple of months ago. Then I passed it to > testing (buster). > > Now I'm facing this situation: > * 5031 installed packages > * 1292 upgradable packages > > If I do a normal upgrade, 676 packages are to be upgraded, but only > the gtk/qt unrelated ones (for example, apache2-doc but none of the > apache2 *real* packages, or vim-addon-manager and vim-doc but none of > the vim *real* packages, and so on) > > And if I try to upgrade, let's say, vim-* packages, it wants to > remove a ton of seemingly unrelated packages, like calibre, > evolution, gir1.2-*, gstreamer things, kid3, libqt5-*, pidgin, vlc-*, > etc etc... > > This happens when I try to upgrade or install apparently *anything* > related to GUI programs (GTK/Qt related). > > I am worried to make an upgrade like that. > > What can I do to debug this situation and try to understand which > package(s) is/are breaking everything?
If I were experiencing a similar situation, what I'd do is try to simultaneously install both one of the packages that triggers the cascade and one or more of the packages which the cascade wants to remove, and keep adding packages to the install command until I get a dependency-resolution failure. E.g., assuming that trying to upgrade 'vim' triggers the cascade and the cascade wants to remove calibre, evolution, and pidgin: $ apt-get install vim calibre evolution pidgin (In case it wasn't obvious: an 'install' operation on an already-installed package which has a newer available version triggers an install of that newer version, i.e., an upgrade.) If you get a successful upgrade attempt which doesn't trigger the cascade, you can let it proceed, then try the mass upgrade again. If the mass upgrade still produces the cascade, you can repeat the some-small-subset-of-packages manual install process. If on the other hand the manual install command *does* trigger the cascade, you should cancel it and add more package names to the install command. Keep repeating those two until either the cascade disappears from the mass-upgrade attempt, or you get a "request cannot be fulfilled" dependency-resolution failure. If the cascade disappears along the way, you're in good shape; just complete the mass upgrade. (Unfortunately, this doesn't really help figure out what caused the bug in the first place.) If you get a dependency-resolution failure, the packages involved should give you a hint about which packages have dependency relationships which are leading to the cascade. The next step involves looking at those packages and their dependency relationships, and I can't describe the process very well without a real-world example to hand. Once you've identified the dependency relationship which resulted in the cascade, it's probably fairly straightforward to determine what bug report to file and what package to file it against. -- The Wanderer The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. -- George Bernard Shaw
signature.asc
Description: OpenPGP digital signature