Browse Source

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.
debian/1.8.y
Michael Vogt 8 years ago
parent
commit
592d06b6f3
  1. 3
      apt-pkg/cachefile.cc
  2. 5
      apt-private/private-cacheset.cc
  3. 5
      apt-private/private-output.cc

3
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;

5
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));

5
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());

Loading…
Cancel
Save