On Fr, 2010-08-06 at 11:04 -0400, Lucas Nussbaum wrote: > On 06/08/10 at 11:35 +0200, Julian Andres Klode wrote: > > On Fr, 2010-08-06 at 02:40 -0400, Lucas Nussbaum wrote: > > > Package: apt > > > Version: 0.7.25.3 > > > Severity: serious > > > > > > Hi, > > > > > > I have been testing upgrades from lenny to sid with a tool similar to > > > piuparts. I ran into many (~80) strange failures, where apt takes a > > > wrong decision about which packages to upgrade. > > > > > > All the logs are available from > > > http://people.debian.org/~lucas/logs/2010/08/05/pkg-upgrade/ > > > Here are the various cases: > > > package-not-upgraded/: > > > The package under test was not upgraded during apt-get dist-upgrade. > > > That is always because upgrading it would have required the removal of > > > another package. However, in the case of library packages being removed > > > to permit the upgrade, I was wondering whether it was possible to trick > > > apt into upgrading the package. > > > > > > package-uninstalled/: > > > The package under test was removed during apt-get dist-upgrade. > > > > > > package-uninstalled/no-removal/ <= that's where the serious issues are > > > The package under test was removed during dist-upgrade, but no removal > > > was neded to get it back! It should really have been upgraded together > > > with the other packages. > > > There are quite a lot of failures related to emacs packages, so they > > > are separated in the logs. > > > > > > package-uninstalled/removals/: > > > A package was removed to permit the upgrade. I'm wondering if in some > > > cases, it would have made sense to auto-detect the correct solution. > > > > Please use a two stage upgrade process: > > apt-get upgrade > > apt-get dist-upgrade > > This will reduce the number of issues. > > I'm now doing: > apt-get install apt (to upgrade apt) > apt-get upgrade > apt-get dist-upgrade > And I don't really see any difference (I haven't tested all the packages > that were failing). > > Good examples of packages that fail are pyrex-mode and > python-application. Both get removed during apt-get dist-upgrade, but > can be installed without removing any package after that. >
For pyrex-mode: The reason is that dpkg breaks emacs21 and that confuses APT. APT views it like this: pyrex-mode => python-mode => emacs21 The following solution is ignored, because python-mode is already installed: pyrex-mode (Depends: python-mode or emacs22) => emacs22 The following solution is ignored because emacsen is already installed (provided by emacs21): pyrex-mode => python-mode (Depends: emacs22 | emacsen) => emacs22 Because dpkg breaks emacs21, the chosen dependency chain becomes invalid and the packages will be removed. jak-thinkpad:/home/jak/Desktop/dh-autoreconf# aptitude dist-upgrade The following NEW packages will be installed: cpp-4.4{a} dash{a} diffutils{a} g++-4.4{a} gcc-4.4{a} insserv{a} libc-bin{a} libc-dev-bin{a} libdb4.7{a} libdb4.8{a} libdpkg-perl{a} liblzma2{a} libmpfr4{a} libreadline6{a} libstdc++6-4.4-dev{a} python2.6{a} python2.6-minimal{a} sensible-utils{a} xz-utils{a} The following packages will be REMOVED: libdb4.5{u} libxcb-xlib0{u} python2.5{u} python2.5-minimal{u} The following packages will be upgraded: bash binutils build-essential cpio cpp cpp-4.3 debianutils diff dpkg{b} dpkg-dev e2fsprogs g++ g++-4.3 gcc gcc-4.3 gcc-4.3-base gnupg gpgv grep libc6 libc6-dev libgdbm3 liblocale-gettext-perl libpam-modules libpam-runtime libstdc++6-4.3-dev libtext-charwidth-perl libtext-iconv-perl libx11-6 libxcb1 perl perl-base perl-modules python python-minimal readline-common sed sysv-rc util-linux The following packages are RECOMMENDED but will NOT be installed: bash-completion gnupg-curl libalgorithm-merge-perl libc6-i686 libldap-2.4-2 manpages-dev netbase 39 packages upgraded, 19 newly installed, 4 to remove and 0 not upgraded. Need to get 63.8MB of archives. After unpacking 53.9MB will be used. The following packages have unmet dependencies: dpkg: Breaks: emacs21 (< 21.4a+1-5.7) but 21.4a+1-5.6 is installed. The following actions will resolve these dependencies: Remove the following packages: 1) emacs21 2) pyrex-mode 3) python-mode Accept this solution? [Y/n/q/?] ^C -- Julian Andres Klode - Debian Developer, Ubuntu Member See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/. -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org