On Wed, Sep 03, 2003 at 02:17:40PM +0200, Martin Haefele wrote: > Package: dpkg > Version: 1.10.10 > Severity: normal > > Example (note that the status is: purge ok not-installed) > hawk:[root]> dpkg -l kernel-image\* [...] > un kernel-image <none> (no description ... [...] > hawk:[root]> dpkg --forget-old-unavail > hawk:[root]> dpkg -l kernel-image\* [...] > un kernel-image <none> (no description ... [...] > So NONE of the old kernel images have been removed from the database.
This has been annoying me as well. Running with debugging turned on, I see this for each package that should be removed: D000010: forgetold checking kernel-image-2.6.9-bk1 D000010: forgetold ... informative installed After some investigation, I noticed that the Architecture: field for this purged package is still in /var/lib/dpkg/status. Removing that causes --forget-old-unavail to forget about the package. I suggest zeroing pkg->installed.architecture in the want_purge case near the end of main/remove.c:removal_bulk(). I think it might also be necessary to zero pkg->installed.origin and pkg->installed.bugs too, although this only matters for packages that have the Origin: or Bugs: field in the actual .deb rather than merely in the Packages file. Of course, many of the "un" entries listed by Martin are there because they're still mentioned in a dependency field, not because --forget-old-unavail is buggy. There's nothing much to be done about this. Cheers, -- Colin Watson [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

