From 778559db797ce61611e2b761b24dcb49c49f2652 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 20 Sep 2011 14:30:31 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - use std::vector instead of fixed size arrays to store args and multiarch-packagename strings - load the dpkg base arguments only one time and reuse them later * cmdline/apt-get.cc: - follow Provides in the evaluation of saving candidates, too, for statisfying garbage package dependencies (Closes: #640590) * apt-pkg/algorithms.cc: - if a package is garbage, don't try to save it with FixByInstall --- apt-pkg/algorithms.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 5fbcb47be..6ac69032b 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1002,7 +1002,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (BrokenFix == false || DoUpgrade(I) == false) { // Consider other options - if (InOr == false) + if (InOr == false || Cache[I].Garbage == true) { if (Debug == true) clog << " Removing " << I.FullName(false) << " rather than change " << Start.TargetPkg().FullName(false) << endl; -- cgit v1.2.3 From deec647438c6394d8d8398cba35412992f1babd5 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 17 Oct 2011 16:41:54 +0200 Subject: * algorithms.cc: - show a debug why a package was kept by ResolveByKeep() --- apt-pkg/algorithms.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 6ac69032b..44cba8d92 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1188,16 +1188,23 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) */ bool pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator I) { - // a broken install is always a problem if (Cache[I].InstBroken() == true) + { + if (Debug == true) + std::clog << " Dependencies are not satisfied for " << I << std::endl; return true; + } // a newly broken policy (recommends/suggests) is a problem if (Cache[I].NowPolicyBroken() == false && Cache[I].InstPolicyBroken() == true) + { + if (Debug == true) + std::clog << " Policy breaks with upgrade of " << I << std::endl; return true; - + } + return false; } -- cgit v1.2.3