]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/packagemanager.cc, apt-pkg/pkgcache.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 17 Aug 2011 09:13:50 +0000 (11:13 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 17 Aug 2011 09:13:50 +0000 (11:13 +0200)
  - ignore "self"-conflicts for all architectures of a package
    instead of just for the architecture of the package locked at
    in the ordering of installations too (Closes: #802901)

apt-pkg/packagemanager.cc
apt-pkg/pkgcache.cc
debian/changelog
test/integration/test-ubuntu-bug-802901-multiarch-early-remove [new file with mode: 0755]

index 060cd32481c9c6fcd4ad28ea48c4e64c4586d404..6601d9f6bad94dbe4ee5a6a4131e3d273bc72949 100644 (file)
@@ -598,7 +598,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate)
    
    for (PrvIterator P = instVer.ProvidesList();
        P.end() == false; ++P)
-      CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion());
+      if (Pkg->Group != P.OwnerPkg()->Group)
+        CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion());
 
    List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
 
index ed24d9ea8564ad2c86b4b08ce09932d02f15096c..6db025bd06fc312ab58739d288c5edeadc9e86f2 100644 (file)
@@ -632,7 +632,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const
            continue;
         
         if (IsNegative() == true &&
-            ParentPkg() == I.OwnerPkg())
+            ParentPkg()->Group == I.OwnerPkg()->Group)
            continue;
         
         Size++;
index d44d0aaa281a8977ea4b5fa72fd41a0cb415bdb9..de8f64de44e18603e806dac23b1442be760e60da 100644 (file)
@@ -1,3 +1,13 @@
+apt (0.8.15.5.6+nmu1) UNRELEASED; urgency=low
+
+  [ David Kalnischkies ]
+  * apt-pkg/packagemanager.cc, apt-pkg/pkgcache.cc:
+    - ignore "self"-conflicts for all architectures of a package
+      instead of just for the architecture of the package locked at
+      in the ordering of installations too (Closes: #802901)
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Wed, 17 Aug 2011 11:08:02 +0200
+
 apt (0.8.15.5.6) UNRELEASED; urgency=low
 
   [ Michael Vogt ]
diff --git a/test/integration/test-ubuntu-bug-802901-multiarch-early-remove b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove
new file mode 100755 (executable)
index 0000000..bdb4e5e
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64' 'i386'
+
+insertinstalledpackage 'libgl1-mesa-glx' 'amd64' '2.0' 'Multi-Arch: same
+Provides: libgl1
+Conflicts: libgl1'
+insertpackage 'unstable' 'libgl1-mesa-glx' 'i386,amd64' '2.0' 'Multi-Arch: same
+Provides: libgl1
+Conflicts: libgl1'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+  libgl1-mesa-glx:i386
+0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
+Inst libgl1-mesa-glx:i386 (2.0 unstable [i386])
+Conf libgl1-mesa-glx:i386 (2.0 unstable [i386])' aptget install libgl1-mesa-glx:i386 -s