Package: aptitude Version: 0.7.2-1 Severity: normal Dear Maintainer,
There are a quite number of bug reports in the BTS about the loss of the Auto flag of package dependencies in several scenarios using aptitude. I've found a totally reproducible scenario that might or might not be the root cause of one or several of those bugs, so I've decided to open a new separate bug report for this case. Please merge it to the appropiate bug report if you consider it's the same problem. Also note that this is the only case that I've found that causes the loss of the Auto flag (at least nowadays), but that doesn't mean that there is the only one that exists. In all the scenarios that I've found, an `aptitude upgrade' that caused the loss of the Auto flags always have a renaming package involved, such as python-pelican to pelican, or the transition from libav* to libav*-ffmpeg. To prove my suspicions, I built a synthetic test case in which a package called A with several dependencies is renamed (and replaced) by a package A'. The exact dependencies between packages I've choose to test are better described with a diagram (more about the selected configuration later): http://www.escomposlinux.org/jcantero/ld/images/aptitude-bug-3.png (Grey box means the package has the Auto flag set) For the procedure of renaming the package I've followed the recommendations and practices described in the Debian wiki[1]. The results show that aptitude loses the Auto flag of all the dependencies of the renaming package A', not only the direct dependencies that migrate from the "Depends:" of package A to the "Depends:" of package A', but also the dependencies of these dependencies, and so on (recursively). This applies in the above diagram to B, C, D, E, F, G, H and J packages. But there is one important exception to this behavior: a package with a reverse dependence from a different package doesn't lose its Auto flag. This seems to happen regardless of its position in the dependency graph. In the above diagram the package Z prevents D (and therefore H) to lose their Auto flag. The final state of the package Auto flags after the `aptitude upgrade' is: http://www.escomposlinux.org/jcantero/ld/images/aptitude-bug-4.png You can build and test yourself that configuration (or one equivalent), for instance using equivs to create the packages. I have done my own source packages (you can find them in my git repo[2] ready to be built with a `make packages') and all the tests that I've done with them confirm the hypothesis. I can send you the logs with the output of the different aptitude commands if you want, but you should be able to reproduce them by your own using the information provided. One more thing: I've tested apt-get too, and it's not affected. After the `apt-get upgrade' the Auto flags remains in place. [1]: https://wiki.debian.org/Renaming_a_Package [2]: https://github.com/javiercantero/apt-repo-testsuite/tree/master/tests/renaming-package -- Package-specific info: Terminal: xterm $DISPLAY is set. which aptitude: /usr/bin/aptitude aptitude version information: aptitude 0.7.2 compiled at Sep 19 2015 16:51:55 Compiler: g++ 5.2.1 20150903 Compiled against: apt version 4.16.0 NCurses version 6.0 libsigc++ version: 2.4.1 Gtk+ support disabled. Qt support disabled. Current library versions: NCurses version: ncurses 6.0.20150810 cwidget version: 0.5.17 Apt version: 4.16.0 aptitude linkage: linux-vdso.so.1 (0x00007ffeedb57000) libapt-pkg.so.4.16 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.16 (0x00007fc62c69a000) libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007fc62c46a000) libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fc62c23f000) libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007fc62c039000) libcwidget.so.3 => /usr/lib/x86_64-linux-gnu/libcwidget.so.3 (0x00007fc62bd3a000) libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fc62ba6c000) libboost_iostreams.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.58.0 (0x00007fc62b853000) libxapian.so.22 => /usr/lib/libxapian.so.22 (0x00007fc62b451000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc62b233000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc62aeb8000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc62abb7000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc62a9a0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc62a5f7000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fc62a3f4000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc62a1ef000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc629fd4000) libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fc629dc4000) liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fc629ba0000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc629998000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fc629792000) /lib64/ld-linux-x86-64.so.2 (0x0000557904ff3000) -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (600, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.1.8-amd64 (SMP w/4 CPU cores) Locale: LANG=es_ES.utf8, LC_CTYPE=es_ES.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages aptitude depends on: ii aptitude-common 0.7.2-1 ii libapt-pkg4.16 1.0.10.2 ii libboost-iostreams1.58.0 1.58.0+dfsg-3+b1 ii libc6 2.19-22 ii libcwidget3v5 0.5.17-4 ii libgcc1 1:5.2.1-17 ii libncursesw5 6.0+20150810-1 ii libsigc++-2.0-0v5 2.4.1-2 ii libsqlite3-0 3.8.11.1-1 ii libstdc++6 5.2.1-17 ii libtinfo5 6.0+20150810-1 ii libxapian22v5 1.2.21-1.2 Versions of packages aptitude recommends: pn aptitude-doc-en | aptitude-doc <none> pn libparse-debianchangelog-perl <none> ii sensible-utils 0.0.9 Versions of packages aptitude suggests: pn apt-xapian-index <none> pn debtags <none> ii tasksel 3.33 -- no debconf information _______________________________________________ Aptitude-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/aptitude-devel

