The following commit has been merged in the master branch:
commit 0012c303dada298c3ea6d73be238304791904a69
Author: Guillem Jover <[email protected]>
Date:   Sat Sep 15 19:24:53 2012 +0200

    dpkg: Take arch into account in virtual packages on remove and configure
    
    The architecture restrictions were not being considered on package
    configuration and removal, which would cause a system to end up in
    broken states. Refuse to get into those states.
    
    Closes: #683411

diff --git a/debian/changelog b/debian/changelog
index b7ae7dc..77a3820 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -47,6 +47,8 @@ dpkg (1.16.9) UNRELEASED; urgency=low
   * 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.
+  * Take architecture into account in virtual packages on remove and
+    configure dpkg actions. Closes: #683411
 
   [ Updated programs translations ]
   * Czech (Miroslav Kure).
diff --git a/src/packages.c b/src/packages.c
index 7283df6..d5455bc 100644
--- a/src/packages.c
+++ b/src/packages.c
@@ -603,6 +603,11 @@ dependencies_ok(struct pkginfo *pkg, struct pkginfo 
*removing,
             continue;
           debug(dbg_depcondetail, "     checking provider %s",
                 pkg_name(provider->up->up, pnaw_always));
+          if (!deparchsatisfied(&provider->up->up->installed, provider->arch,
+                                possi)) {
+            debug(dbg_depcondetail, "       provider does not satisfy arch");
+            continue;
+          }
           thisf = deppossi_ok_found(provider->up->up, pkg, removing,
                                     possi->ed,
                                     &possfixbytrig, &matched, NULL,

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to