I also encountered this bug on Stretch with aptitude 0.8.4-1.

In my case it can be reproduced even simpler:

1. Install some package which has a dependency with apt-get, for example:

        $ apt-get install apt-src

Entry in /var/apt/history.log:

Start-Date: 2017-01-31  19:51:29
Commandline: apt-get install apt-src
Install: libapt-pkg-perl:amd64 (0.1.30, automatic), apt-src:amd64 (0.25.2)
End-Date: 2017-01-31  19:51:30

Note that package libapt-pkg-perl was installed automatically as a dependency.

This package is also listed in /var/lib/apt/extended_states (last changed 2017-01-31 19:51:29):

...
Package: libsdl1.2debian
Architecture: amd64
Auto-Installed: 1

Package: libapt-pkg-perl
Architecture: amd64
Auto-Installed: 1

--EOF--

2. Start aptitude. You don't even need to do anything. Aptitude on its start overwrites /var/lib/apt/extended_states file, removing the entry for libapt-pkg-perl package:

File /var/lib/apt/extended_states (last changed 2017-01-31 19:59:35):

...

Package: libsdl1.2debian
Architecture: amd64
Auto-Installed: 1

--EOF--

If there are more than one auto packages installed recently with apt-get, aptitude removes entries for all of them. So it is not the case that aptitude removes only the last entry, but all entries which were installed with apt-get since last aptitude run.

Reply via email to