summaryrefslogtreecommitdiff
path: root/apt-pkg
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 /apt-pkg
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
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/packagemanager.cc3
1 files changed, 2 insertions, 1 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))
{