[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