diff options
author | Julian Andres Klode <julian.klode@canonical.com> | 2020-10-08 11:50:19 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2020-11-06 10:51:06 +0100 |
commit | 2b13473a9b9947f55a0871d146e4fee456b0af60 (patch) | |
tree | 51b510e696d17e8288f7a716436c4d3fa2b5a000 | |
parent | 645ad0c97334265bbfef82a4bdfdc8337cdd0630 (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.cc | 3 | ||||
-rwxr-xr-x | test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first | 4 |
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 |