[Aptitude-devel] Bug#848011: aptitude doesn't ask for confirmation of removal for "markauto", leading to surprise removals
Alexey Kopytko
alexey at kopytko.ru
Tue Dec 13 07:08:25 UTC 2016
Package: aptitude
Version: 0.8.3-1+b2
Severity: important
Dear Maintainer,
Before 0.8.3 aptitude asked if one wants to remove a package if marked as autoinstalled.
Since version 0.8.3 aptitude's behavior irreversible changed, breaking all preexisting
assumptions. Now it doesn't ask at all, even if --prompt option provided.
Consider that you want to mark a list of packages as autoinstalled. Now if you type:
aptitude markauto foo bar baz
Every package from the list for which there's no "why" found will be silently, with no
indications whatsoever, scheduled for removal. If you were doing this from a script, or
just copying and pasting code from somewhere, you'll be in trouble. Next time you happen
to install updates, unbeknownst to you some of the packages above will be removed:
$ sudo aptitude safe-upgrade
Resolving dependencies...
The following packages will be REMOVED:
foo{u}
0 packages upgraded, 0 newly installed, 1 to remove and 10 not upgraded.
Need to get 0 B of archives. After unpacking 44,9 kB will be freed.
Do you want to continue? [Y/n/?]
Imagine that there's not one but tens of packages in a pending upgrade. Imagine that
you're trusting aptitude too much, too busy or in a hurry.. This gives a very high
chance of missing the package's removal. And a lot of trouble finding the .deb for
the important package somewhere far away from the internet.
Expected resolution:
aptitude must retain previous verbose behavior while allowing silent behavior
with --assume-yes or a more appropriate option
-- Package-specific info:
Terminal: xterm-256color
$DISPLAY is set.
which aptitude: /usr/bin/aptitude
aptitude version information:
aptitude 0.8.3
Compiler: g++ 6.2.0 20161103
Compiled against:
apt version 5.0.0
NCurses version 6.0
libsigc++ version: 2.10.0
Gtk+ support disabled.
Qt support disabled.
Current library versions:
NCurses version: ncurses 6.0.20161126
cwidget version: 0.5.17
Apt version: 5.0.1
aptitude linkage:
linux-vdso.so.1 (0x00007ffd2f502000)
libapt-pkg.so.5.0 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0 (0x00007f74900b7000)
libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f748fe87000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f748fc5d000)
libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007f748fa56000)
libcwidget.so.3 => /usr/lib/x86_64-linux-gnu/libcwidget.so.3 (0x00007f748f759000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f748f450000)
libboost_iostreams.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.62.0 (0x00007f748f238000)
libboost_filesystem.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.62.0 (0x00007f748f01f000)
libboost_system.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.62.0 (0x00007f748ee1b000)
libxapian.so.30 => /usr/lib/x86_64-linux-gnu/libxapian.so.30 (0x00007f748ea0d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f748e7f0000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f748e46d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f748e169000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f748df52000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f748dbb4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f748d9b0000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f748d799000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f748d57d000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f748d36d000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f748d147000)
liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f748cf35000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f748cd2d000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f748cb26000)
/lib64/ld-linux-x86-64.so.2 (0x000055a043ceb000)
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.8.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.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.8.3-1
ii libapt-pkg5.0 1.4~beta1
ii libboost-filesystem1.62.0 1.62.0+dfsg-4
ii libboost-iostreams1.62.0 1.62.0+dfsg-4
ii libboost-system1.62.0 1.62.0+dfsg-4
ii libc6 2.24-7
ii libcwidget3v5 0.5.17-4+b1
ii libgcc1 1:6.2.1-5
ii libncursesw5 6.0+20161126-1
ii libsigc++-2.0-0v5 2.10.0-1
ii libsqlite3-0 3.15.2-1
ii libstdc++6 6.2.1-5
ii libtinfo5 6.0+20161126-1
ii libxapian30 1.4.1-1
Versions of packages aptitude recommends:
ii libparse-debianchangelog-perl 1.2.0-11
ii sensible-utils 0.0.9
Versions of packages aptitude suggests:
pn apt-xapian-index <none>
ii aptitude-doc-en [aptitude-doc] 0.8.3-1
pn debtags <none>
ii tasksel 3.37
-- no debconf information
More information about the Aptitude-devel
mailing list