summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2020-10-08 11:50:19 +0200
committerJulian Andres Klode <jak@debian.org>2020-11-06 10:51:06 +0100
commit2b13473a9b9947f55a0871d146e4fee456b0af60 (patch)
tree51b510e696d17e8288f7a716436c4d3fa2b5a000
parent645ad0c97334265bbfef82a4bdfdc8337cdd0630 (diff)
Do not immediately configure m-a: same packages in lockstep
In LP#835625, it was reported that apt did not unpack multi-arch packages in the correct order, and dpkg did not like that. The fix also made apt configure packages together, which is not strictly necessary. This turned out to cause issues now, because of dependencies on libc6:i386 that caused immediate configuration of that to not work. Work around the issue by not configuring multi-arch: same packages in lockstep if they have the immediate flag set. This will be the pseudo-essential set, and given how essential works, we mostly need the native arch to work correctly anyway. LP: #1871268 Regression-Of: 30426f4822516bdd26528aa2e6d8d69c1291c8d3
-rw-r--r--apt-pkg/packagemanager.cc3
-rwxr-xr-xtest/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first4
2 files changed, 4 insertions, 3 deletions
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index 55880d1b5..a1b3f4537 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -609,7 +609,8 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg, int const Depth)
List->Flag(Pkg,pkgOrderList::Configured,pkgOrderList::States);
- if ((Cache[Pkg].InstVerIter(Cache)->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
+ if ((Cache[Pkg].InstVerIter(Cache)->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same &&
+ not List->IsFlag(Pkg, pkgOrderList::Immediate))
for (PkgIterator P = Pkg.Group().PackageList();
P.end() == false; P = Pkg.Group().NextPkg(P))
{
diff --git a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
index 5a3e2762e..beb7c0854 100755
--- a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
+++ b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
@@ -26,9 +26,9 @@ The following packages will be upgraded:
Inst libsame:i386 [1] (2 unstable [i386]) [apt:i386 ]
Inst libsame (2 unstable [amd64]) [apt:i386 ]
Conf libsame:i386 (2 unstable [i386]) [apt:i386 ]
-Conf libsame (2 unstable [amd64]) [apt:i386 ]
Inst apt:i386 [1] (2 unstable [i386])
-Conf apt:i386 (2 unstable [i386])' 'Reading package lists...
+Conf apt:i386 (2 unstable [i386])
+Conf libsame (2 unstable [amd64])' 'Reading package lists...
Building dependency tree...
The following additional packages will be installed:
apt:i386 libsame:i386