summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-08-12 13:07:56 +0200
committerJulian Andres Klode <jak@debian.org>2015-08-12 13:07:56 +0200
commit10b39ae62db1f0d15a208a286cc86aff06c2fb69 (patch)
tree7ff14c555a09bc183cb413dc3226ddcf28b0a95f /apt-pkg
parent4ef2f35c35b5519040b4efebf2cca4527feacd29 (diff)
Add a parameter ConsiderFiles to GetPriority(VerIterator)
This allows us to exclude files from being considered for the priority, so it will return only specific-version matches.
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/policy.cc5
-rw-r--r--apt-pkg/policy.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc
index c12d8699b..bf6ec0ff7 100644
--- a/apt-pkg/policy.cc
+++ b/apt-pkg/policy.cc
@@ -368,11 +368,12 @@ APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg)
return Pins[Pkg->ID].Priority;
return 0;
}
-APT_PURE signed short pkgPolicy::GetPriority(pkgCache::VerIterator const &Ver)
+APT_PURE signed short pkgPolicy::GetPriority(pkgCache::VerIterator const &Ver, bool considerFiles)
{
if (VerPins[Ver->ID].Type != pkgVersionMatch::None)
return VerPins[Ver->ID].Priority;
-
+ if (!considerFiles)
+ return 0;
int priority = std::numeric_limits<int>::min();
for (pkgCache::VerFileIterator file = Ver.FileList(); file.end() == false; file++)
diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h
index b3e1ec6b1..5be6657e9 100644
--- a/apt-pkg/policy.h
+++ b/apt-pkg/policy.h
@@ -80,7 +80,7 @@ class pkgPolicy : public pkgDepCache::Policy
// Things for the cache interface.
virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
virtual signed short GetPriority(pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
- virtual signed short GetPriority(pkgCache::VerIterator const &Pkg);
+ virtual signed short GetPriority(pkgCache::VerIterator const &Pkg, bool ConsiderFiles = true);
virtual signed short GetPriority(pkgCache::PkgFileIterator const &File) APT_OVERRIDE;
bool InitDefaults();