]> git.saurik.com Git - apt.git/commitdiff
Add a parameter ConsiderFiles to GetPriority(VerIterator)
authorJulian Andres Klode <jak@debian.org>
Wed, 12 Aug 2015 11:07:56 +0000 (13:07 +0200)
committerJulian Andres Klode <jak@debian.org>
Wed, 12 Aug 2015 11:07:56 +0000 (13:07 +0200)
This allows us to exclude files from being considered for the
priority, so it will return only specific-version matches.

apt-pkg/policy.cc
apt-pkg/policy.h

index c12d8699bd48468eb3216bdf6bdba74cc54009a9..bf6ec0ff7fdc8c97390cb2d9de4bcac15d0a8737 100644 (file)
@@ -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++)
index b3e1ec6b1638f12c5f8b18989913a438f9c0694f..5be6657e9a3d3c5ef0ff331aecedfc9935668052 100644 (file)
@@ -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();