Attached patch fixes it.  Single line, should be easy to understand.
diff -ruN dpkg-1.14.16.6/debian/changelog dpkg-1.14.16.6.1/debian/changelog
--- dpkg-1.14.16.6/debian/changelog	2008-01-26 13:35:53.000000000 -0600
+++ dpkg-1.14.16.6.1/debian/changelog	2008-03-22 13:40:45.537462000 -0500
@@ -1,3 +1,11 @@
+dpkg (1.14.16.6.1) unstable; urgency=medium
+
+  * NMU.
+  * When a package is completely purged, remove it's entry from status.
+    Closes: #472208.
+
+ -- Adam Heath <[EMAIL PROTECTED]>  Sat, 22 Mar 2008 13:40:37 -0500
+
 dpkg (1.14.16.6) unstable; urgency=medium
 
   * Let dpkg-gensymbols skip directories which are just symlinks when scanning
diff -ruN dpkg-1.14.16.6/lib/database.c dpkg-1.14.16.6.1/lib/database.c
--- dpkg-1.14.16.6/lib/database.c	2008-01-26 12:16:35.000000000 -0600
+++ dpkg-1.14.16.6.1/lib/database.c	2008-03-22 13:38:31.945397000 -0500
@@ -96,7 +96,7 @@
    * out.
    */
   if (info == &pkg->installed &&
-      (pkg->want != want_unknown ||
+      ((pkg->want != want_unknown && pkg->want != want_purge) ||
        pkg->eflag != eflagv_ok ||
        pkg->status != stat_notinstalled ||
        informativeversion(&pkg->configversion)))

Reply via email to