summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorJacob Kauffmann <jacob@system76.com>2023-05-02 11:59:45 +0000
committerJulian Andres Klode <jak@debian.org>2023-05-02 11:59:45 +0000
commit5f9552801139e6ea8d84db20692561b79cda6d00 (patch)
tree309335c57752e3b37c69751ae9e3f57eb4f2baf5 /apt-pkg
parentaa8c9aad81b57da96e8ac7345d0024ee526c7714 (diff)
Keep "or group" when installing package to satisfy it
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/algorithms.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index 26d8c71c2..272917b08 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -1056,9 +1056,12 @@ bool pkgProblemResolver::ResolveInternal(bool const BrokenFix)
clog << " Try Installing " << APT::PrettyPkg(&Cache, Start.TargetPkg()) << " before changing " << I.FullName(false) << std::endl;
auto const OldBroken = Cache.BrokenCount();
Cache.MarkInstall(Start.TargetPkg(), true, 1, false);
+ OrOp = OrKeep;
// FIXME: we should undo the complete MarkInstall process here
- if (Cache[Start.TargetPkg()].InstBroken() == true || Cache.BrokenCount() > OldBroken)
+ if (Cache[Start.TargetPkg()].InstBroken() == true || Cache.BrokenCount() > OldBroken) {
Cache.MarkDelete(Start.TargetPkg(), false, 1, false);
+ OrOp = OrRemove;
+ }
}
}
}