Explorar el Código

libdpkg: Only satisfy a dependency on a M-A:foreign if arch-unqualified

Make sure that if the dependency is arch-qualified we do not satisfy it
just because the target package is “Multi-Arch: foreign”, as that would
bypass specific arch-qualifiers.
Guillem Jover hace 13 años
padre
commit
cdfd9738c0
Se han modificado 2 ficheros con 3 adiciones y 1 borrados
  1. 1 0
      debian/changelog
  2. 2 1
      lib/dpkg/depcon.c

+ 1 - 0
debian/changelog

@@ -46,6 +46,7 @@ dpkg (1.16.9) UNRELEASED; urgency=low
     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.
+  * Only satisfy a dependency on a “Multi-Arch: foreign” if arch-unqualified.
 
   [ Updated programs translations ]
   * Czech (Miroslav Kure).

+ 2 - 1
lib/dpkg/depcon.c

@@ -55,7 +55,8 @@ archsatisfied(struct pkgbin *it, struct deppossi *against)
 {
 	const struct dpkg_arch *dep_arch, *pkg_arch;
 
-	if (it->multiarch == multiarch_foreign)
+	if (against->arch_is_implicit &&
+	    it->multiarch == multiarch_foreign)
 		return true;
 
 	dep_arch = against->arch;