Explorar el Código

libdpkg: Clarify reason for multiarch database inconcistencies

The most probable cause for these inconsistencies are upgrades from
unofficial dpkg versions, make that clear to avoid users blaming the
official version.
Guillem Jover hace 14 años
padre
commit
3daebbf64d
Se han modificado 2 ficheros con 6 adiciones y 2 borrados
  1. 2 0
      debian/changelog
  2. 4 2
      lib/dpkg/parse.c

+ 2 - 0
debian/changelog

@@ -44,6 +44,8 @@ dpkg (1.16.9) UNRELEASED; urgency=low
     conffile checks actually work on reinstallation. Closes: #684776
     conffile checks actually work on reinstallation. Closes: #684776
   * Avoid info database corruption and bogus accesses on unknown format
   * Avoid info database corruption and bogus accesses on unknown format
     values, by always reading the format file and validating it.
     values, by always reading the format file and validating it.
+  * Clarify that the most probable reason for multiarch database
+    inconcistencies is due to upgrades from unofficial dpkg versions.
 
 
   [ Updated programs translations ]
   [ Updated programs translations ]
   * Czech (Miroslav Kure).
   * Czech (Miroslav Kure).

+ 4 - 2
lib/dpkg/parse.c

@@ -342,11 +342,13 @@ parse_find_set_slot(struct parsedb_state *ps,
     parse_count_pkg_instance(&count, pkg, &pkg->installed);
     parse_count_pkg_instance(&count, pkg, &pkg->installed);
 
 
   if (count.single > 1)
   if (count.single > 1)
-    parse_error(ps, _("multiple non-coinstallable package instances present"));
+    parse_error(ps, _("multiple non-coinstallable package instances present; "
+                      "most probably due to an upgrade from an unofficial dpkg"));
 
 
   if (count.single > 0 && count.multi > 0)
   if (count.single > 0 && count.multi > 0)
     parse_error(ps, _("mixed non-coinstallable and coinstallable package "
     parse_error(ps, _("mixed non-coinstallable and coinstallable package "
-                      "instances present"));
+                      "instances present; most probably due to an upgrade "
+                      "from an unofficial dpkg"));
 
 
   if (pkgset_installed_instances(set) != count.total)
   if (pkgset_installed_instances(set) != count.total)
     internerr("in-core pkgset '%s' with inconsistent number of instances",
     internerr("in-core pkgset '%s' with inconsistent number of instances",