summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-07-28 13:55:15 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-07-28 13:55:15 +0200
commitb20c16833e20da8e367221b32764889cafe5b4c1 (patch)
treee4bff7a1d79c7af9ef1dea7b619c8872a957f63f /apt-pkg
parent75bda61948950a88fdd41a5362920cc46c9669e2 (diff)
[ABI break] merge patch from Jonathan Thomas to speed up the
depcache by caching the install-recommends and install-suggests values
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/depcache.cc4
-rw-r--r--apt-pkg/depcache.h10
2 files changed, 11 insertions, 3 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc
index 72a0bb542..ee9315069 100644
--- a/apt-pkg/depcache.cc
+++ b/apt-pkg/depcache.cc
@@ -1511,7 +1511,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
return true;
else if(Dep->Type == pkgCache::Dep::Recommends)
{
- if ( _config->FindB("APT::Install-Recommends", false))
+ if (InstallRecommends)
return true;
// we suport a special mode to only install-recommends for certain
// sections
@@ -1522,7 +1522,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
return true;
}
else if(Dep->Type == pkgCache::Dep::Suggests)
- return _config->FindB("APT::Install-Suggests", false);
+ return InstallSuggests;
return false;
}
diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h
index adc010c28..d935c1887 100644
--- a/apt-pkg/depcache.h
+++ b/apt-pkg/depcache.h
@@ -258,13 +258,21 @@ class pkgDepCache : protected pkgCache::Namespace
class Policy
{
public:
-
+ Policy() {
+ InstallRecommends = _config->FindB("APT::Install-Recommends", false);
+ InstallSuggests = _config->FindB("APT::Install-Suggests", false);
+ }
+
virtual VerIterator GetCandidateVer(PkgIterator const &Pkg);
virtual bool IsImportantDep(DepIterator const &Dep);
virtual signed short GetPriority(PkgIterator const &Pkg);
virtual signed short GetPriority(PkgFileIterator const &File);
virtual ~Policy() {};
+
+ private:
+ bool InstallRecommends;
+ bool InstallSuggests;
};
private: