Просмотр исходного кода

Ensure we have a Policy in CacheFile.BuildDepCache()

This partly reverts d059cc2 and fixes bug #753297 in a more
general way by ensuring that CacheFile.BuildDepCache() builds
a pkgPolicy if there isn't one already.
Michael Vogt лет назад: 12
Родитель
Сommit
592d06b6f3
3 измененных файлов с 5 добавлено и 8 удалено
  1. 3 0
      apt-pkg/cachefile.cc
  2. 1 4
      apt-private/private-cacheset.cc
  3. 1 4
      apt-private/private-output.cc

+ 3 - 0
apt-pkg/cachefile.cc

@@ -143,6 +143,9 @@ bool pkgCacheFile::BuildDepCache(OpProgress *Progress)
    if (DCache != NULL)
       return true;
 
+   if (BuildPolicy(Progress) == false)
+      return false;
+
    DCache = new pkgDepCache(Cache,Policy);
    if (_error->PendingError() == true)
       return false;

+ 1 - 4
apt-private/private-cacheset.cc

@@ -55,10 +55,7 @@ bool GetLocalitySortedVersionSet(pkgCacheFile &CacheFile,
       }
       else if (_config->FindB("APT::Cmd::Upgradable") == true)
       {
-         pkgPolicy *policy = CacheFile.GetPolicy();
-         if(P.CurrentVer() && 
-            state.Upgradable() && 
-            policy->GetCandidateVer(P) != P.CurrentVer())
+         if(P.CurrentVer() && state.Upgradable())
          {
              pkgPolicy *policy = CacheFile.GetPolicy();
              output_set.insert(policy->GetCandidateVer(P));

+ 1 - 4
apt-private/private-output.cc

@@ -229,10 +229,7 @@ void ListSingleVersion(pkgCacheFile &CacheFile, pkgRecords &records,	/*{{{*/
       std::string CandidateVerStr = GetCandidateVersion(CacheFile, P);
       std::string InstalledVerStr = GetInstalledVersion(CacheFile, P);
       std::string StatusStr;
-      if(P.CurrentVer() == V && 
-         state.Upgradable() &&
-         state.CandidateVer != NULL &&
-         policy->GetCandidateVer(P) != P.CurrentVer())
+      if(P.CurrentVer() == V && state.Upgradable())
       {
          strprintf(StatusStr, _("[installed,upgradable to: %s]"),
                    CandidateVerStr.c_str());